chiark / gitweb /
computing clocks in perl seems to work
[trains.git] / pic.make
1 # recommended programming order
2 #   one test on PIC#0
3 #       first time:                             erase, write FOO-entire0.hex
4 #       subsequently if only FOO.asm changed:   update FOO.hex
5 #   for all pics
6 #       first time:     for each individually   erase, write perpicNUM.hex
7 #                       then for all            update FOO.hex
8 #       subsequently:   for all                 update FOO.hex
9 #   other possibilities are not ruled out
10 #
11 # filename conventions - contents of hex files
12 #   FOO.hex             FOO.o (only)
13 #   FOO-withcfg.hex     FOO.o                           config.o
14 #   FOO-entire0.hex     FOO.o           idlocs0.o       config.o
15 #   perpicNUMBER.hex                    idlocsNUMBER.o  config.o
16
17 #ASFLAGS=       -Dmclock=20000 -Dsclock=20000
18 CLOCKS=         -Dmclock=20000 -Dsclock=5000
19 ASFLAGS=        $(CLOCKS)
20
21 HEXMERGER=      $(CEBPIC)merge-hex
22 MERGEHEX=       ./$^ $o
23
24 LINK=           gplink -m -o $@ $^
25 ASSEMBLE=       gpasm -p 18f458 $(ASFLAGS)
26 DOASSEMBLE=     $(ASSEMBLE) -c $< && mv $*.lst $*-asm.lst
27
28 %.o:            %.asm $(INCLUDES)
29                 $(DOASSEMBLE)
30
31 .PRECIOUS:      %.o
32
33 pic-clean:
34                 -rm -f -- *~ *.new *.tmp
35                 -rm -f *.hex *.cod *.lst *.o *.map