chiark / gitweb /
reversers pcb and netlist wip - netlist still broken
[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 LAYOUTOPTS_PHYS= -S1.0 $(LAYOUTOPTS) '-e*A'
8 XLAYOUTOPTS_LAYER= -e'=5AN' -E'*~=5rsm' -e'p~=5r' -e'*~=9C' -e'*=*l'
9
10 LAYERS_LS=      0 10 20
11 LAYERS_PS=      $(addsuffix .ps, $(LAYERS_LS))
12 LAYERS_L=       $(addprefix ours-l, $(LAYERS_PS))
13 LAYERS_E=       $(addprefix ours-e, $(LAYERS_PS))
14 LAYERS=         $(LAYERS_L) $(LAYERS_E)
15
16 LPAGES=  $(foreach x, 0 1 2 3 4 5 6, $(foreach y, 1 2 3 4 5, ours-p0-$xx$y.ps))
17
18 default:        ours-a.ps ours-al.ps parts.ps
19 layers:         $(LAYERS)
20 lpages:         $(LPAGES)
21
22 all:            default layers circuit.bom bulkres.bom divider-tables \
23                 picprogs netlists
24
25 o=>$@.new && mv -f $@.new $@
26
27 CIRCUITPARTS=   control.partlist circuit.partlist
28 BULKRESPARTS=   bulkres-select.partlist bulkres-items.partlist
29
30 picprogs:       flasher.hex flash-all.hex
31
32 netlists:       reversers.net
33
34 %.net:          %.net-info
35                 sed -e '/^\#/d' <$< >$@.new && mv -f $@.new $@
36
37 %.net-info:     reversers-netlist.pl
38                 ./$< $@ >$@.new && mv -f $@.new $@
39
40 %.hex:          %.asm
41                 gpasm -p 18f458 $<
42
43 circuit.bom:    farnell-find $(CIRCUITPARTS)
44                 ./farnell-find bom $(CIRCUITPARTS) $o
45
46 bulkres.bom:    farnell-find $(BULKRESPARTS)
47                 ./farnell-find bom $(BULKRESPARTS) $o
48
49 bulkres-select.partlist:        bulkres-select-gen.pl
50                 ./$^ $o
51
52 bulkres-items.suggest:
53                 cat bulkres-searchout*[0-9] | ./farnell-resistor-convert.pl $o
54
55 bulkres-items.descs:    bulkres-items.suggest
56                 xargs ./farnell-find describe <$< $o
57
58 bulkres-items.partlist:
59                 ./farnell-resistor-convert.pl <bulkres-items.descs MRS25 std $o
60
61 divider-table.txt:      divider-table.pl
62                 ./$< $o
63
64 divider-tables:         divider-table.ps divider-table.txt
65
66 divider-table.ps:       divider-table.txt Makefile
67                 a2ps -o- -R -1 --borders no -B -L"$$(wc -l <$<)" -l158 \
68                  --center-title='E24 resistor ratios and logarithms' <$< $o
69
70 %.d4:           %.m4 $(M4INCS) Makefile
71                 m4 -s <$< $o
72
73 %-a.ps:         %.d4 layout
74                 ./layout <$< $(LAYOUTOPTS) '-E*l' $o
75
76 %-al.ps:        %.d4 layout
77                 ./layout <$< $(LAYOUTOPTS) '-e*C' '-ep=rm' $o
78
79 %-ap.ps:        %.d4 layout
80                 ./layout -S1.0 <$< $(LAYOUTOPTS) '-e*A' '-ep=rm' $o
81
82 ours-l%.ps:     ours.d4 layout
83                 ./layout <$< -l$* $(LAYOUTOPTS) $(XLAYOUTOPTS_LAYER) $o
84
85 ours-e%.ps:     ours.d4 layout
86                 ./layout <$< -l$* -E'=*aRsclMno' \
87                         -e'p=*rm' -e'=5RN' -E'*~=5rsm' -e'p~=5r' -e'*=*l' $o
88
89 ours-p%.ps:     ours.d4 layout
90                 ./layout <$< -l$$(printf %s "$*" | sed -e 's/-/ -P/') \
91                         $(LAYOUTOPTS_PHYS) $(XLAYOUTOPTS_LAYER) $o
92
93 parts.ps:       showlib.d4 layout
94                 ./layout <$< $(LAYOUTOPTS_ALL) $o
95
96 clean:
97                 -rm -f -- *.d4 *.ps farn.* *~ *.new
98                 -rm -f bulkres-*.partlist bulkres-items.suggest *.bom
99                 -rm -f t,*.gnuplot-data t,*.gnuplot-cmd t,gnuplot-fifo
100                 -rm -f t,gnuplots.sh
101                 -rm -f flasher.hex flasher.cod flasher.lst
102
103 .PRECIOUS:      reversers.net-info