chiark / gitweb /
improved distance label placement when centrelines drawn
[trains.git] / pic.make
index 8856d937973ef89ba760cc82898d70b49e611818..d445442b7335a2ee17a4b33b84c7d9d2e41cf69f 100644 (file)
--- a/pic.make
+++ b/pic.make
 #   FOO-entire0.hex    FOO.o           idlocs0.o       config.o
 #   perpicNUMBER.hex                   idlocsNUMBER.o  config.o
 
-PROGRAM_HEXES= $(addsuffix .hex, $(PROGRAMS)) \
-               $(addsuffix -withcfg.hex, $(PROGRAMS))
+#ASFLAGS=      -Dmclock=20000 -Dsclock=20000
+CLOCKS=                -Dmclock=32000 -Dsclock=4000
+ASFLAGS=       $(CLOCKS)
 
-all:           $(TARGETS) $(PROGRAM_HEXES)
-LINK=          gplink -m -o $@ $^
-ASSEMBLE=      gpasm -p 18f458
+HEXMERGER=     $(CEBPIC)merge-hex
+MERGEHEX=      ./$^ $o
 
-%-withcfg.hex: %.o config.o $(LIBS)
-               $(LINK)
+PIC=           18f458
+LINK=          gplink -m -o $@ $^
+ASSEMBLE=      gpasm -p$(PIC)  $(ASFLAGS)
+DOASSEMBLE=    $(ASSEMBLE) -c $< && mv $*.lst $*+asm.lst
 
-%.hex:         %.o $(LIBS) $(DEFLIBS)
-               $(LINK)
+PIC_HEADER=    /usr/share/gputils/header/p$(PIC).inc
 
 %.o:           %.asm $(INCLUDES)
-               $(ASSEMBLE) -c $<
-               mv $*.lst $*-asm.lst
+               $(DOASSEMBLE)
+
+TIA_DIR=       ../iwjpictest
+TIA_TIA=       $(TIA_DIR)/to-insn-aliases
+TIA_ALIASES=   $(TIA_DIR)/insn-aliases.inc
+TIA=           $(TIA_TIA) -A $(TIA_ALIASES) -H $(PIC_HEADER)
+
+%.disasm:      %.hex %.map $(TIA_TIA) $(TIA_ALIASES)
+               gpdasm -p$(PIC) $(word 1,$+) >$@.tmp
+               $(TIA) -M $(word 2,$+) <$@.tmp $o
+               @rm $@.tmp
 
 .PRECIOUS:     %.o
 
 pic-clean:
-               -rm -f -- *~ *.new *.tmp
-               -rm -f *.hex *.cod *.lst *.o
+               -rm -f -- *~ *.new *.tmp *.disasm
+               -rm -f *.hex *.cod *.lst *.o *.map