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