Add flash writing code.
[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 --xram-size 4096\
8         --stack-auto --no-peep --int-long-reent --float-reent
9
10 LDFLAGS=-L/usr/share/sdcc/lib/large --out-fmt-ihx
11 LDFLAGS_RAM=$(LDFLAGS) --code-loc 0xf000 --xram-loc 0xf400
12
13 LDFLAGS_FLASH=$(LDFLAGS) --code-loc 0x0000 --xram-loc 0xf000
14
15 SRC=blink.c
16 ADB=$(SRC:.c=.adb)
17 ASM=$(SRC:.c=.asm)
18 LNK=$(SRC:.c=.lnk)
19 LST=$(SRC:.c=.lst)
20 REL=$(SRC:.c=.rel)
21 RST=$(SRC:.c=.rst)
22 SYM=$(SRC:.c=.sym)
23
24 PROGS=blink-flash blink-ram
25 PCDB=$(PROGS:=.cdb)
26 PLNK=$(PROGS:=.lnk)
27 PMAP=$(PROGS:=.map)
28 PMEM=$(PROGS:=.mem)
29
30 %.rel : %.c
31         $(CC) -c $(CFLAGS) -o$*.rel $<
32
33 all: $(PROGS)
34
35 blink-ram: $(REL)
36         $(CC) $(LDFLAGS_RAM) $(CFLAGS) -oblink $(REL)
37         mv blink $@
38
39 blink-flash: $(REL)
40         $(CC) $(LDFLAGS_FLASH) $(CFLAGS) -oblink $(REL)
41         mv blink $@
42
43 clean:
44         rm -f $(ADB) $(ASM) $(LNK) $(LST) $(REL) $(RST) $(SYM)
45         rm -f $(PROGS) $(PCDB) $(PLNK) $(PMAP) $(PMEM)