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