chiark / gitweb /
3b04fa2e99d038c6f389f51ce75be93cf887d4d4
[trains.git] / detpic / Makefile
1
2 CEBPIC=         ../cebpic/
3 PICNOS=         0 1 2
4
5 FILES=                  variables vectors                               \
6                         panic routines-led i2clib+panic                 \
7                         misc detect points serout                       \
8                         syncwrite mascan energy                         \
9                         reverse nmra-stream tick watchdog
10
11 PROGRAMS=               program program+nd
12
13 OBJS_program+nd=        $(addsuffix +nd.o, $(FILES))
14 XCODEN_program+nd=      morse
15 XCODE1_program+nd=      ours+pindata
16
17 OBJS_program=           $(addsuffix .o, $(FILES))
18 XCODEN_program=         morse
19 XCODE1_program=         ours+pindata
20
21 INCLUDES=                                               \
22                 common.inc                              \
23                         panic.inc                       \
24                         ../iwjpictest/clockvaries.inc   \
25                         pindata.inc                     \
26                         program+clocks.inc              \
27                         i2clib.incm                     \
28                 final.inc                               \
29                         ../iwjpictest/syncwrite.inc     \
30                         i2clib+panic.inc                \
31                         program+externs.fin
32
33 VARSFILES=      variables
34 SYNCWRITES=     syncwrite.asm syncwritehex.asm
35
36 include         $(CEBPIC)manypics.make
37
38 bessar:         program+program.map
39                 RSYNC_RSH=fsh rsync $^ bessar:things/trains-bessar/detpic/.
40
41 $(SYNCWRITES):  %: ../iwjpictest/%
42                 cp $< $@
43
44 %+nd.o:         %.asm $(INCLUDES)
45                 $(ASSEMBLE) -DNDEBUG=1 -o $@ -c $<
46                 @mv $*+nd.lst $*+nd+asm.lst
47
48 %+externs.fin: make-externs %.asm $(addsuffix .asm, $(FILES))
49                 ./$+ >$@.new
50                 diff -q $@ $@.new || mv -vf $@.new $@
51
52 i2clib+panic.%: make-panicworthy i2clib+panic.mangles i2clib.%
53                 ./$+ -Ii2clib.inc,i2clib+panic.inc $o
54
55 i2clib+panic.mangles: make-panicworthy i2clib.inc i2clib.asm Makefile
56                 ./$(filter-out Makefile, $+) -M $o
57
58 %+clocks.inc:   make-clocks %.clocks
59                 ./$+ $(CLOCKS) $o
60
61 t.%.crash:      crashread program+program.map
62                 ./$< /dev/ttya0 $(filter-out $<,$^) $* $o
63
64 clean:          manypic-clean
65                 rm -f *+clocks.inc ours+pindata.* i2clib+panic.*
66                 rm -f $(VARSFILES)+vars.* $(SYNCWRITES)
67
68 .PRECIOUS:      i2clib+panic.%