Subversion Repositories HomeAutomation

Rev

Rev 1208 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 1208 Rev 1621
Line 261... Line 261...
261
	@$(NM) -n $< > $@
261
	@$(NM) -n $< > $@
262
 
262
 
263
# Link: create ELF output file from object files.
263
# Link: create ELF output file from object files.
264
.SECONDARY : $(TARGET).elf
264
.SECONDARY : $(TARGET).elf
265
.PRECIOUS : $(OBJ)
265
.PRECIOUS : $(OBJ)
-
 
266
# GCC bug workaround:
-
 
267
# The compiler driver adds '-Tdata 0x800100' to the ld command line for some
-
 
268
# AVRs, making it impossible to override the .data placement with a
-
 
269
# subsequent -Tdata option. Detect the broken case and re-run ld with the
266
ifneq (,$(filter atmega88 atmega168, $(MCU)))
270
# correct .data location substituted.
267
%.elf: $(OBJ)
271
%.elf: $(OBJ)
268
	@echo $(MSG_LINKING) $@
272
	@echo $(MSG_LINKING) $@
269
	@echo GCC bug workaround for ATmega88/ATmega168:
-
 
270
	@eval $$($(CC) -v $(CFLAGS) -o $@ $^ $(LDFLAGS) 2>&1 | $(AWK) '{ if (gsub("0x800100","$(BIOS_RAM_END)") == 1) print }')
273
	@eval $$($(CC) -v $(CFLAGS) -o $@ $^ $(LDFLAGS) 2>&1 | $(AWK) '{ if (gsub("0x800100","$(BIOS_RAM_END)") == 1) print }')
271
else
-
 
272
%.elf: $(OBJ)
-
 
273
	@echo $(MSG_LINKING) $@
-
 
274
	@$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
-
 
275
endif
-
 
276
 
274
 
277
# Compile: create object files from C source files.
275
# Compile: create object files from C source files.
278
%.o : %.c
276
%.o : %.c
279
	@echo $(MSG_COMPILING) $<
277
	@echo $(MSG_COMPILING) $<
280
	@$(CC) -c $(CFLAGS) $< -o $@ 
278
	@$(CC) -c $(CFLAGS) $< -o $@