Flash multiple pages. Eliminate off-by-one error in hex_image length.
[fw/altos] / Makefile.blink
1 .NOTPARALLEL:
2 CC=sdcc
3 NO_OPT=--nogcse --noinvariant --noinduction --nojtbound --noloopreverse \
4         --nolabelopt --nooverlay --peep-asm
5 DEBUG=--debug
6
7 CFLAGS=--model-large $(DEBUG) --less-pedantic \
8         --no-peep --int-long-reent --float-reent \
9         --no-pack-iram \
10         --data-loc 0x30 \
11
12 LDFLAGS=-L/usr/share/sdcc/lib/large --out-fmt-ihx
13 LDFLAGS_RAM=$(LDFLAGS) --code-loc 0xf000 --xram-loc 0xf400 --xram-size 1024
14
15 LDFLAGS_FLASH=$(LDFLAGS) --code-loc 0x0000 --xram-loc 0xf000 --xram-size 1024
16
17
18
19 SRC=blink.c
20 ADB=$(SRC:.c=.adb)
21 ASM=$(SRC:.c=.asm)
22 LNK=$(SRC:.c=.lnk)
23 LST=$(SRC:.c=.lst)
24 REL=$(SRC:.c=.rel)
25 RST=$(SRC:.c=.rst)
26 SYM=$(SRC:.c=.sym)
27
28 PROGS=blink-flash blink-ram
29 PCDB=$(PROGS:=.cdb)
30 PLNK=$(PROGS:=.lnk)
31 PMAP=$(PROGS:=.map)
32 PMEM=$(PROGS:=.mem)
33
34 %.rel : %.c
35         $(CC) -c $(CFLAGS) -o$*.rel $<
36
37 all: $(PROGS)
38
39 blink-ram: $(REL) Makefile.blink
40         $(CC) $(LDFLAGS_RAM) $(CFLAGS) -o blink $(REL)
41         mv blink $@
42
43 blink-flash: $(REL) Makefile.blink
44         $(CC) $(LDFLAGS_FLASH) $(CFLAGS) -o blink $(REL)
45         mv blink $@
46
47 clean:
48         rm -f $(ADB) $(ASM) $(LNK) $(LST) $(REL) $(RST) $(SYM)
49         rm -f $(PROGS) $(PCDB) $(PLNK) $(PMAP) $(PMEM)