1 #include ../cprogs.make
6 LAYOUTOPTS_ALL= -ep=*Cm
7 LAYOUTOPTS= -E=*$(E_TRACK) $(LAYOUTOPTS_ALL)
8 LAYOUTOPTS_PHYS= -S1.0 $(LAYOUTOPTS) '-e*A'
9 XLAYOUTOPTS_LAYER= -e'=5AN' -E'*~=5rsm' -e'p~=5r' -e'*~=9C' -e'*=*l'
11 LAYOUTOPTS_SEGS= '-e*=*rm'
14 LAYERS_PS= $(addsuffix .ps, $(LAYERS_LS))
15 LAYERS_L= $(addprefix ours-l, $(LAYERS_PS))
16 LAYERS_E= $(addprefix ours-e, $(LAYERS_PS))
17 LAYERS= $(LAYERS_L) $(LAYERS_E)
19 LPAGES= $(foreach x, 0 1 2 3 4 5 6, $(foreach y, 1 2 3 4 5, ours-p0-$xx$y.ps))
21 CPROGS= subseg2display compose-segenco
23 default: $(CPROGS) for-test-ui
24 all: default lpages layers extras
25 for-test-ui: ours.graph.c ours.redactgraph ours.raw.neato.ps \
26 ours.dgram-bot.segcmap subseg2display ui-plan-bot.ppm
30 extras: dualjn-a.ps parts.ps
33 include segencolayers.m
35 o=>$@.new && mv -f $@.new $@
37 CFLAGS= -Wall -Wwrite-strings -Wpointer-arith \
38 -Wstrict-prototypes -Wmissing-prototypes \
39 -Wmissing-declarations -Werror $(OPTIMISE)
41 CPPFLAGS= -D_GNU_SOURCE
42 LINK= $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $+ $(LIBS)
46 subseg2display: subseg2display.o
47 $(LINK) $(NETPBM) -lpub -lm
49 compose-segenco: compose-segenco.o
55 %.raw.neato: %.redactgraph
58 %.redactgraph: %.graph.o redactgraph.o
61 %.d4: %.m4 $(M4INCS) Makefile
65 ./layout <$< $(LAYOUTOPTS) '-E*l' $o
68 ./layout <$< $(LAYOUTOPTS) '-e*C' '-ep=rm' $o
71 ./layout -S1.0 <$< $(LAYOUTOPTS) '-e*A' '-ep=rm' $o
73 %.segcmapreq: %.run-layout
74 ./$< $(LAYOUTOPTS_SEGS) -GR $o
76 %.segcmap: %.segcmapreq segcmapassign segcmap.h
77 ./segcmapassign <$< $o
79 %.dgram.m: %.dgram-list make-dgram-make
80 ./make-dgram-make <$< $* $o
85 %.segenco.ppm: %.segenco.ps Makefile
86 gs -dNOPAUSE -dBATCH -dSAFER -q \
87 -sDEVICE=ppmraw -r72 -g595x842 \
88 -sOutputFile=$@.new $< && mv -f $@.new $@
90 ours.graph.c: extractgraph ours.dgram-bot.p0.segenco.ps
92 # Strictly, this is wrong as it only uses layer 0. When we have more
93 # layers, should put them all in same segenco specially for extractgraph
95 ours-l%.ps: ours.d4 layout
96 ./layout <$< -l$* $(LAYOUTOPTS) $(XLAYOUTOPTS_LAYER) $o
98 ours-e%.ps: ours.d4 layout
99 ./layout <$< -l$* -E'=*aRsclMno' \
100 -e'p=*rm' -e'=5RN' -E'*~=5rsm' -e'p~=5r' -e'*=*l' $o
102 ours-p%.ps: ours.d4 layout
103 ./layout <$< -l$$(printf %s "$*" | sed -e 's/-/ -P/') \
104 $(LAYOUTOPTS_PHYS) $(XLAYOUTOPTS_LAYER) $o
106 parts.ps: showlib.d4 layout
107 ./layout <$< $(LAYOUTOPTS_ALL) $o
110 t.ppm: ours.dgram-bot.pa.segenco.ppm x.gdb subseg2display
113 ui-plan-%.ppm: ours.dgram-%.pa.segenco.ppm Makefile
114 pnmcrop <$< >$@.1.new
115 pnmflip <$@.1.new -ccw >$@.2.new
116 pnmpad <$@.2.new -white -l5 -r5 -t5 -b5 $o
118 subseg2display.o compose-segenco.o: segcmap.h
121 -rm -f -- *.d4 *~ t.* *.m *.new core
122 -rm -f ours-*.ps parts.ps
123 -rm -f *.oprint-*.ps *.run-layout
124 -rm -f *.segcmap *.segcmapreq
125 -rm -f *.dgram-*.p*.segenco.ps *.dgram-*.p*.segenco.ppm
128 .PRECIOUS: $(OPRINTS)
129 .PRECIOUS: %.segcmap %.segcmapreq %.segenco.ppm %.d4 %.neato