chiark / gitweb /
sensible command-line parsing
[trains.git] / pic.make
1
2 M4INCS=         parts.i4
3
4 E_TRACK=        ArsCLMNo
5 LAYOUTOPTS_ALL= -ep=*Cm
6 LAYOUTOPTS=     -E=*$(E_TRACK) $(LAYOUTOPTS_ALL)
7 LAYERS_LS=      0 10 20
8 LAYERS_PS=      $(addsuffix .ps, $(LAYERS_LS))
9 LAYERS_L=       $(addprefix ours-l, $(LAYERS_PS))
10 LAYERS_E=       $(addprefix ours-e, $(LAYERS_PS))
11 LAYERS=         $(LAYERS_L) $(LAYERS_E)
12
13 default:        ours-a.ps ours-al.ps parts.ps
14 layers:         $(LAYERS)
15
16 all:            default layers circuit.bom
17
18 o=>$@.new && mv -f $@.new $@
19
20 CIRCUITPARTS=   control.partlist circuit.partlist
21
22 circuit.bom:    farnell-find $(CIRCUITPARTS)
23                 ./farnell-find bom $(CIRCUITPARTS)
24
25 %.d4:           %.m4 $(M4INCS) Makefile
26                 m4 -s <$< $o
27
28 %-a.ps:         %.d4 layout
29                 ./layout <$< $(LAYOUTOPTS) '-E*l' $o
30
31 %-al.ps:        %.d4 layout
32                 ./layout <$< $(LAYOUTOPTS) '-e*C' '-ep=rm' $o
33
34 ours-l%.ps:     ours.d4 layout
35                 ./layout <$< -l$* $(LAYOUTOPTS) \
36                         -e'=5AN' -E'*~=5rsm' -e'p~=5r' -e'*~=9C' -e'*=*l' $o
37
38 ours-e%.ps:     ours.d4 layout
39                 ./layout <$< -l$* -E'=*aRsclMno' \
40                         -e'p=*rm' -e'=5RN' -E'*~=5rsm' -e'p~=5r' -e'*=*l' $o
41
42 parts.ps:       showlib.d4 layout
43                 ./layout <$< $(LAYOUTOPTS_ALL) $o
44
45 clean:
46                 -rm -f -- *.d4 *.ps