1 # muchly stolen from m68hc1x's example.tar.gz's Makefile
4 motors.o keypad.o display_basic.o coinmech.o chime.o \
5 helpers.o main_basic.o comm.o \
7 INCLUDES = vend.h keypad.h chime.h asm.h display_basic.h ports.h types.h
9 CFLAGS = -O3 -m68hc11 -mshort -Wall -Os -g0 \
10 -msoft-reg-count=0 -ffixed-z
12 LDFLAGS = -m68hc11 -mshort -Wl,-m,m68hc11elfb \
14 -Wl,-defsym,_io_ports=0x1000 \
15 -Wl,-defsym,_switch_input=0x1800 \
16 -Wl,-defsym,_misc_input=0x2000 \
17 -Wl,-defsym,_home_sensors=0x2800 \
18 -Wl,-defsym,_changer_output=0x3000 \
19 -Wl,-defsym,_misc_output=0x3800 \
20 -Wl,-defsym,_uart_regs=0x4000
22 OBJCOPY_FLAGS=--only-section=.text \
23 --only-section=.rodata \
24 --only-section=.vectors \
28 DEVC_PREFIX = m68hc11-
29 CC = $(DEVC_PREFIX)gcc
32 SIZE = $(DEVC_PREFIX)size
33 OBJCOPY = $(DEVC_PREFIX)objcopy
34 OBJDUMP = $(DEVC_PREFIX)objdump
37 all: rom2.b rom2.elf rom2.s19
39 rom2.elf: $(OBJS) memory.x
40 $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBADD)
43 rm -f *.o *.elf *.s19 *.b *.a
58 # .elf is for the simulator and gdb
59 # .s19 is for some downloader and the simulator
62 .SUFFIXES: .elf .s19 .b
65 $(OBJCOPY) --output-target=srec $(OBJCOPY_FLAGS) $< $*.s19
68 $(OBJCOPY) --output-target=binary --gap-fill=255 \
69 --only-section=.data $(OBJCOPY_FLAGS) $< $*.b