1 -include ..
/make.config
9 TARGET
= $(PROJECT
).elf
11 ifeq ($(HWBOARD
),DEVTRUT
)
16 CFLAGS
+= -DDEVTRUT
=1 -DUSBKEY
=2 -DHWBOARD
=$(HWBOARD
)
18 ## Options common to compile, link and assembly rules
21 ## Compile options common for all C compilation units.
22 CFLAGS
+= $(COMMON
) -D AVRGCC
-Wall
25 # CFLAGS += -O3 # Use this one to inline everything
28 LDFLAGS
+= $(COMMON
) -Wl
,-Map
=$(PROJECT
).map
,--cref
30 ## Intel Hex file production flags
31 HEX_FLASH_FLAGS
= -R .eeprom
32 HEX_EEPROM_FLAGS
= -j .eeprom
33 HEX_EEPROM_FLAGS
+= --set-section-flags
=.eeprom
="alloc,load"
34 HEX_EEPROM_FLAGS
+= --change-section-lma .eeprom
=0
36 ## Include Directories
37 CFLAGS
+= -I
"../include"
39 ## Objects that must be built in order to link
40 OBJECTS
= main.o avrusb.o debugleds.o usbdescriptors.o trutcomm.o dbuf.o \
41 buffer.o timer1.o loadtask.o stackusage.o c64tape.o motor.o trutcontrol.o \
42 msgbuffer.o passtask.o dumptask.o trutprofile.o
45 all: $(PROJECT
).hex
$(PROJECT
).eep size
50 $(TARGET
): $(patsubst %.o
,%.c
, $(OBJECTS
)) $(wildcard *.h
)
51 cat
$(patsubst %.o
,%.c
, $(OBJECTS
)) > all.c
52 $(CC
) $(CFLAGS
) -fwhole-program
all.c
-o
$(TARGET
)
55 $(CC
) $(LDFLAGS
) $(OBJECTS
) -o
$(TARGET
)
56 avr-objcopy
-O ihex
$(HEX_FLASH_FLAGS
) avr.elf avr.hex
57 avr-objcopy
-O ihex
$(HEX_EEPROM_FLAGS
) avr.elf avr.eep || exit
0
61 avr-objcopy
-O ihex
$(HEX_FLASH_FLAGS
) $< $@
64 avr-objcopy
-O ihex
$(HEX_EEPROM_FLAGS
) $< $@ || exit
0
67 avr-objdump
-h
-S
$< > $@
78 -rm -rf
$(OBJECTS
) $(PROJECT
).elf
$(PROJECT
).hex
$(PROJECT
).eep \
80 find
-name
"*~" | xargs
rm -f