CPROGS= subseg2display compose-segenco default: $(CPROGS) for-pic for-test-ui layers extras include ../cprogs.make include ../common.make M4INCS= parts.i4 ROTATE= 270 LAYOUT= ./layout -R$(ROTATE) E_TRACK= ArsCLMNo LAYOUTOPTS_ALL= -ep=*Cm LAYOUTOPTS_ALLFINAL= -Eg=*aRqesclDmnog LAYOUTOPTS= -E=*$(E_TRACK) $(LAYOUTOPTS_ALL) $(LAYOUTOPTS_ALLFINAL) LAYOUTOPTS_PHYS= -S1.0 $(LAYOUTOPTS) '-e*A' -CS=\#888 LAYOUTOPTS_PS= -e'[sp]=*rm' -e'p=5C' \ $(LAYOUTOPTS_ALLFINAL) $(LAYOUTOPTS_COLOUR) XLAYOUTOPTS_LAYER= -e'=5AND' -E'*~=5rsml' -e'p~=5r' -e'*~=9C' \ $(LAYOUTOPTS_PS) LAYOUTOPTS_COLOUR= -CA=\#f00 -CC=\#dd0 -CrpLD=\#00f -Ci=\#c0c LAYOUTOPTS_MB= -E'=*aRsclDmno' -E'=5RNLDA' -E'*~=5rCdsml' \ $(LAYOUTOPTS_PS) LAYOUTOPTS_M= -l$* $(LAYOUTOPTS_MB) LAYOUTOPTS_BS= -S2.828 LAYOUTOPTS_B= $(LAYOUTOPTS_BS) $(LAYOUTOPTS_MB) -Cl=- LAYOUTOPTS_E= -E'=*aRsclMno' \ -e'=5RN' -E'*~=5rsm' -e'p~=5r' -e'*=*l' \ -e'[sp]=*rm' $(LAYOUTOPTS_ALLFINAL) PLANUI_PSDPI= 72 PLANUI_WIDTH= 595 PLANUI_HEIGHT= 842 LAYOUTOPTS_SEGS= '-e*=*rm' -Lsubseglwm=80 -Lsubseglwe=150 -Lsubseglwq=50 LAYERS_LS= 0 4 10 26 30 LAYERS_PS= $(addsuffix .ps, $(LAYERS_LS)) LAYERS_L= $(addprefix ours-l, $(LAYERS_PS)) LAYERS_E= $(addprefix ours-e, $(LAYERS_PS)) ours-e20.ps LAYERS_EB= $(addprefix ours-E, $(LAYERS_PS)) LAYERS_S= $(addprefix ours-s, $(LAYERS_PS)) LAYERS_M= $(addprefix ours-m, $(LAYERS_PS)) LAYERS= $(LAYERS_L) $(LAYERS_E) $(LAYERS_EB) $(LAYERS_S) $(LAYERS_M) \ testphys-a.ps testphys-m4.ps LPAGES= $(foreach x, 0 1 2 3 4 5 6, $(foreach y, 1 2 3 4 5, ours-p4-$xx$y.ps)) BPAGES= $(foreach x, 0 1, $(foreach y, 0 1, ours-b4-$xx$y.ps)) all: default lpages bpages tpages for-pic: ours+pindata.asm recurse: $(CPROGS) for-pic for-test-ui client: ours.layout-data.o ours.dgram-bot.overlay-info \ ours.dgram-bot.plandata.c ours.dgram-bot.plandata.o \ ours.dgram-bot.segcmap for-test-ui: client \ ours.graph.c ours.redactgraph ours.raw.neato.ps \ ours.redacted.neato.ps ours.redacted.shellvars \ ours.summary.neato.ps for-segments: ours.summary.neato.ps ours.raw.neato.large.ps \ ours.redacted.neato.ps ours-s4.ps layers: $(LAYERS) lpages: $(LPAGES) bpages: $(BPAGES) tpages: $(foreach x, 0 1 2 3 4 5 6, testphys-p4-$xx1.ps) extras: ours-a.ps ours-al.ps dualjn-a.ps parts.ps include ours.dgram.m include segencolayers.m #NETPBM = -lnetpbm ifeq (,$(shell test -f /usr/lib/libppm.so || echo no)) NETPBM += -lppm else ifeq (,$(shell test -f /usr/lib/libnetpbm.so || echo no)) NETPBM += -lnetpbm endif endif REDACT= consistency movfeatsplitedges \ consistency movfeatrmstubs \ consistency movfeatsplitnodesall \ consistency trivpairnodes \ consistency trivnullnodes subseg2display: subseg2display.o $(LINK) $(NETPBM) -lpub -lm compose-segenco: compose-segenco.o $(LINK) $(NETPBM) %.neato.ps: %.neato neato -Gsize=7.5,7.5 -Gcenter=1 -Tps <$< $o LARGE_PS_FACTOR=3 %.large.ps: %.ps ./psenlarge ${LARGE_PS_FACTOR} $< $o %.raw.neato: %.redactgraph ./$< -t$@ consistency printforneato $o %.redacted.neato: %.redactgraph ./$< -t$@ $(REDACT) consistency printforneato $o %.summary.neato: %.redactgraph ./$< -t$@ $(REDACT) consistency printforneatosumm $o %.redacted.forsafety: %.redactgraph ./$< $(REDACT) consistency printforforsafety $o %.redacted.shellvars: %.redactgraph ./$< $(REDACT) consistency printforshellscript $o %.redacted.segjoins: %.redactgraph ./$< $(REDACT) consistency printforlayoutsegjoins $o %.redacted.for-ui: %.redactgraph ./$< consistency trivpairnodes trivnullnodes printforui $o %.layout-data.c: data2safety %.wiring %.redacted.forsafety \ reversers.pin-info detectors.pin-info ./$(filter-out %.pin-info, $^) $o ours.layout-data.c: %+pindata.asm: %.layout-data.c @: %.pin-info: pin-info-gen ../pcb/%.net ./$< $* $o %.redactgraph: %.graph.o redactgraph.o $(LINK) : redactgraph-created $@ %.d4: %.m4 $(M4INCS) Makefile m4 -s $< $o %-a.ps: %.d4 layout $(LAYOUT) <$< $(LAYOUTOPTS) '-E*lD' $o %-al.ps: %.d4 layout $(LAYOUT) <$< $(LAYOUTOPTS) '-e*C' '-ep=rm' $o %-ap.ps: %.d4 layout $(LAYOUT) -S1.0 <$< $(LAYOUTOPTS) '-e*A' '-ep=rm' $o %.segcmapreq: %.run-layout ./$< $(LAYOUTOPTS_SEGS) -GR $o %.segcmap: %.segcmapreq segcmapassign segcmap.h ./segcmapassign <$< $o %.dgram.m: %.dgram-list make-dgram-make ./make-dgram-make <$< $* $o %.m: %.gen-make ./$< $o %.segenco.ppm: %.segenco.ps Makefile gs -dNOPAUSE -dBATCH -dSAFER -q \ -sDEVICE=ppmraw -r$(PLANUI_PSDPI) \ -g$(PLANUI_WIDTH)x$(PLANUI_HEIGHT) \ -sOutputFile=$@.new $< && mv -f $@.new $@ ours.graph.c: extractgraph ours.dgram-bot.p0.segenco.ps ./$^ $o # Strictly, this is wrong as it only uses layer 0. When we have more # layers, should put them all in same segenco specially for extractgraph ours-l%.ps: ours.d4 layout $(LAYOUT) <$< -l$* $(LAYOUTOPTS) $(XLAYOUTOPTS_LAYER) $o testphys-l%.ps: testphys.d4 layout $(LAYOUT) <$< -l$* $(LAYOUTOPTS) $(XLAYOUTOPTS_LAYER) $o ours-s%.ps: layout ours.redacted.segjoins ours.d4 $(LAYOUT) -l$* -e'*=*rldm' -E'=5QE' -e'segjoin=5M' \ -e'l=*C' $(LAYOUTOPTS_ALLFINAL) \ $(filter-out layout, $^) $o ours-m%.ps: ours.d4 layout $(LAYOUT) <$< $(LAYOUTOPTS_M) $o testphys-m%.ps: testphys.d4 layout $(LAYOUT) <$< $(LAYOUTOPTS_M) $o ours-e%.ps: ours.d4 layout $(LAYOUT) <$< -l$* $(LAYOUTOPTS_E) $(LAYOUTOPTS_COLOUR) $o ours-E%.ps: ours.d4 layout $(LAYOUT) <$< -l$* $(LAYOUTOPTS_E) -Cl=- \ -CR=#88f -CM=#ccf -E*d -El*c $o ours-p%.ps: ours.d4 layout $(LAYOUT) <$< -l$$(printf %s "$*" | sed -e 's/-/ -P/') \ $(LAYOUTOPTS_PHYS) $(XLAYOUTOPTS_LAYER) $o ours-b%.ps: ours.d4 layout $(LAYOUT) <$< -l$$(printf %s "$*" | \ sed -e 's/-/ -P/; s/x/.25x/; s/$$/.3/') \ $(LAYOUTOPTS_B) $o testphys-p%.ps: testphys.d4 layout $(LAYOUT) <$< -l$$(printf %s "$*" | sed -e 's/-/ -P/') \ $(LAYOUTOPTS_PHYS) $(XLAYOUTOPTS_LAYER) $o parts.ps: showlib.d4 layout $(LAYOUT) <$< $(LAYOUTOPTS_ALL) $o # test case t.ppm: ours.dgram-bot.pa.segenco.ppm x.gdb subseg2display gdb -x x.gdb subseg2display.o compose-segenco.o: segcmap.h tidy: clean: tidy -rm -f -- *.d4 *~ .*~ t.* *.m *.tmp *.new core *.d -rm -f ours.*.ps ours-*.ps parts.ps *.neato.ps ours.*.neato -rm -f test-*.ps testphys-*.ps -rm -f dualjn-*.ps -rm -f *.pin-info *.matrix-info *.overlay-info *+pindata.asm -rm -f *.redacted.forsafety *.redacted.forneato -rm -f *.redacted.shellvars *.redacted.segjoins -rm -f *.redacted.for-ui *.segmap-info -rm -f *.summary.forneato -rm -f *.oprint-*.ps *.run-layout -rm -f *.segcmap *.segcmapreq -rm -f *.dgram-*.p*.segenco.ps *.dgram-*.p*.segenco.ppm -rm -f *.dgram-*.plandata.c ours.graph.c ours.layout-data.c -rm -f $(CPROGS) *.o *.d ours.redactgraph *.segjoins -rm -f tmp.* .PRECIOUS: $(OPRINTS) .PRECIOUS: %.segcmap %.segcmapreq %.segenco.ppm %.d4 %.neato %.raw.neato .PRECIOUS: %.redactgraph %.redacted.forsafety %.redacted.neato .PRECIOUS: %.summary.neato .PRECIOUS: %.layout-data.c %.pin-info %.redacted.segjoins include $(wildcard *.d)