\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 += -fno-inline-small-functions -fno-split-wide-types\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
\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
## 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