###############################################################################\r
-# Makefile for the serial_lcd C & CPP versions \r
+# Makefile for the serial_lcd CPP version for GCC\r
\r
## General Flags\r
PROJECT = serial_lcd_cpp\r
\r
## Compile options common for all C compilation units.\r
CFLAGS = $(COMMON)\r
-CFLAGS += -Wall -gdwarf-2 -DF_CPU=14745600UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums\r
-CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d \r
+CFLAGS += -gdwarf-2 -DF_CPU=14745600UL -Os \r
+CFLAGS +=-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums\r
+CFLAGS += -Wall -Wundef -Wa,-adhlns=./$(*F).lst\r
+CFLAGS += -MMD -MP -MT $(*F).o -MF .dep/$(@F).d \r
\r
## Assembly specific flags\r
ASMFLAGS = $(COMMON)\r
\r
## Linker flags\r
LDFLAGS = $(COMMON)\r
-LDFLAGS += -Wl,-Map=$(PROJECT).map\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: distclean\r
distclean: clean\r
- @rm -rf $(PROJECT).hex $(PROJECT).lss $(PROJECT).map \r
+ @rm -rf $(PROJECT).hex $(PROJECT).lss $(PROJECT).map $(PROJECT).lst\r
\r
.PHONY: clean\r
clean:\r
- @rm -rf $(OBJECTS) $(TARGET) dep $(PROJECT).eep\r
+ @rm -rf $(OBJECTS) $(TARGET) $(PROJECT).eep .dep\r
\r
## Other dependencies\r
--include $(shell mkdir dep 2>/dev/null) $(wildcard dep/*)\r
+-include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*)\r
\r