Improve makefiles with more listing outputs as well as stop linker crashes using...
authorKevin Rosenberg <kevin@rosenberg.net>
Sun, 30 Mar 2008 18:58:04 +0000 (12:58 -0600)
committerKevin Rosenberg <kevin@rosenberg.net>
Sun, 30 Mar 2008 18:58:04 +0000 (12:58 -0600)
BaseTinyFirmware/GCC/ChangeLog
BaseTinyFirmware/GCC/avr458/Makefile
BaseTinyFirmware/GCC/avr463/Makefile

index 87d741b31a28ae41dc36fb8166c54102bc9f9385..9c5d2d5abfb5b77fc4b9b2920636cd1082a19055 100644 (file)
@@ -1,3 +1,8 @@
+2008-03-30 Kevin Rosenberg <kevin@rosenberg.net>\r
+       * GCC Makefile's improved with more listing output as well as\r
+       added -Wl,-gc-sections option which stops crashes using linker\r
+       relaxation [thanks to Eric Weddington]\r
+\r
 2008-03-28 Kevin Rosenberg <kevin@rosenberg.net>\r
        * BaseTinyFirmware/GCC/avr463/Makefile: Added -Wl,-relax to linker\r
        flags. On my system this crashes avr-ld.exe, but others have reported\r
index 38e74fb240c980db43891bbc74e9c01af84b1978..412aa8da755bf32357bd8545f0052868c8a1e265 100644 (file)
@@ -13,8 +13,10 @@ COMMON = -mmcu=$(MCU)
 \r
 ## Compile options common for all C compilation units.\r
 CFLAGS = $(COMMON)\r
-CFLAGS += -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -DLIION\r
-CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d \r
+CFLAGS += -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -ffunction-sections\r
+CFLAGS += -Wall -Wstrict-prototypes -Wundef -Wa,-adhlns=./$(*F).lst\r
+CFLAGS += -MMD -MP -MF dep/$(@F).d  \r
+CFLAGS += -DLIION\r
 \r
 ## Assembly specific flags\r
 ASMFLAGS = $(COMMON)\r
@@ -23,12 +25,10 @@ ASMFLAGS += -x assembler-with-cpp -Wa,-gdwarf2
 \r
 ## Linker flags\r
 LDFLAGS = $(COMMON)\r
-LDFLAGS +=  -Wl,-Map=$(PROJECT).map -Wl,--relax\r
-\r
+LDFLAGS +=  -Wl,-Map=$(PROJECT).map,--cref -Wl,-gc-sections -Wl,-relax\r
 \r
 ## Intel Hex file production flags\r
 HEX_FLASH_FLAGS = -R .eeprom\r
-\r
 HEX_EEPROM_FLAGS = -j .eeprom\r
 HEX_EEPROM_FLAGS += --set-section-flags=.eeprom="alloc,load"\r
 HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0 --no-change-warnings\r
@@ -100,7 +100,7 @@ size: ${TARGET}
 ## Clean target\r
 .PHONY: clean\r
 clean:\r
-       -rm -rf $(OBJECTS) $(PROJECT).elf dep $(PROJECT).hex $(PROJECT).eep $(PROJECT).lss $(PROJECT).map\r
+       -rm -rf $(OBJECTS) $(PROJECT).elf dep $(PROJECT).hex $(PROJECT).eep $(PROJECT).lss $(PROJECT).map *.lst\r
 \r
 \r
 ## Other dependencies\r
index fd8c0f68b5bdb0b73e307478b1baee974baff4ee..c2c00b08049f49e47896cbf5e25634144dca7adf 100644 (file)
@@ -13,8 +13,10 @@ COMMON = -mmcu=$(MCU)
 \r
 ## Compile options common for all C compilation units.\r
 CFLAGS = $(COMMON)\r
-CFLAGS += -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -DNIMH\r
-CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d \r
+CFLAGS += -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -ffunction-sections\r
+CFLAGS += -Wall -Wstrict-prototypes -Wundef -Wa,-adhlns=./$(*F).lst\r
+CFLAGS += -MMD -MP -MF dep/$(@F).d  \r
+CFLAGS += -DNIMH\r
 \r
 ## Assembly specific flags\r
 ASMFLAGS = $(COMMON)\r
@@ -23,7 +25,7 @@ ASMFLAGS += -x assembler-with-cpp -Wa,-gdwarf2
 \r
 ## Linker flags\r
 LDFLAGS = $(COMMON)\r
-LDFLAGS +=  -Wl,-Map=$(PROJECT).map -Wl,--relax\r
+LDFLAGS +=  -Wl,-Map=$(PROJECT).map,--cref -Wl,-gc-sections -Wl,-relax\r
 \r
 \r
 ## Intel Hex file production flags\r
@@ -100,7 +102,7 @@ size: ${TARGET}
 ## Clean target\r
 .PHONY: clean\r
 clean:\r
-       -rm -rf $(OBJECTS) $(PROJECT).elf dep $(PROJECT).hex $(PROJECT).eep $(PROJECT).lss $(PROJECT).map\r
+       -rm -rf $(OBJECTS) $(PROJECT).elf dep $(PROJECT).hex $(PROJECT).eep $(PROJECT).lss $(PROJECT).map *.lst\r
 \r
 \r
 ## Other dependencies\r