LAYOUTOPTS_ALL= -ep=*Cm
LAYOUTOPTS= -E=*$(E_TRACK) $(LAYOUTOPTS_ALL)
LAYOUTOPTS_PHYS= -S1.0 $(LAYOUTOPTS) '-e*A'
-XLAYOUTOPTS_LAYER= -e'=5AN' -E'*~=5rsm' -e'p~=5r' -e'*~=9C' -e'*=*l'
+LAYOUTOPTS_PS= -e'[sp]=*rm' -e'p=5C'
+XLAYOUTOPTS_LAYER= -e'=5AN' -E'*~=5rsm' -e'p~=5r' -e'*~=9C' -e'*=*l' \
+ $(LAYOUTOPTS_PS)
LAYOUTOPTS_SEGS= '-e*=*rm'
-LAYERS_LS= 0 10 20
+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))
-LAYERS= $(LAYERS_L) $(LAYERS_E)
+LAYERS_E= $(addprefix ours-e, $(LAYERS_PS)) ours-e20.ps
+LAYERS_M= $(addprefix ours-m, $(LAYERS_PS))
+LAYERS= $(LAYERS_L) $(LAYERS_E) $(LAYERS_M)
-LPAGES= $(foreach x, 0 1 2 3 4 5 6, $(foreach y, 1 2 3 4 5, ours-p0-$xx$y.ps))
+LPAGES= $(foreach x, 0 1 2 3 4 5 6, $(foreach y, 1 2 3 4 5, ours-p4-$xx$y.ps))
CPROGS= subseg2display compose-segenco
-default: $(CPROGS) for-test-ui
-all: default lpages layers extras
+default: $(CPROGS) for-test-ui layers extras
+all: default lpages
+for-pic: ours+pindata.asm
+recurse: $(CPROGS) for-pic for-test-ui
for-test-ui: ours.graph.c ours.redactgraph ours.raw.neato.ps \
ours.redacted.neato.ps ours.layout-data.o \
- ours.dgram-bot.segcmap subseg2display ui-plan-bot.ppm \
- ui-plan-bot.o
+ ours.dgram-bot.segcmap ours.dgram-bot.plandata.c \
+ ours.dgram-bot.plandata.o
layers: $(LAYERS)
lpages: $(LPAGES)
-extras: dualjn-a.ps parts.ps
+extras: ours-a.ps ours-al.ps dualjn-a.ps parts.ps
include ours.dgram.m
include segencolayers.m
-NETPBM= -lnetpbm
-# -lppm
+#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 \
%.redacted.forsafety: %.redactgraph
./$< $(REDACT) consistency printforforsafety $o
+%.redacted.segjoins: %.redactgraph
+ ./$< $(REDACT) consistency printforlayoutsegjoins $o
+
%.layout-data.c: data2safety %.wiring %.redacted.forsafety \
reversers.pin-info detectors.pin-info
./$(filter-out %.pin-info, $^) $o
-%-pindata.asm: %.layout-data.c
+%+pindata.asm: %.layout-data.c
@:
-ui-plan-%.c: plan-to-gui-data ours.dgram-%.segcmap ui-plan-%.ppm
- ./$+ $o
-
%.pin-info: pin-info-gen ../pcb/%.net
./$< $* $o
$(LINK)
%.d4: %.m4 $(M4INCS) Makefile
- m4 -s <$< $o
+ m4 -s $< $o
%-a.ps: %.d4 layout
- ./layout <$< $(LAYOUTOPTS) '-E*l' $o
+ ./layout <$< $(LAYOUTOPTS) '-E*lD' $o
%-al.ps: %.d4 layout
./layout <$< $(LAYOUTOPTS) '-e*C' '-ep=rm' $o
ours-l%.ps: ours.d4 layout
./layout <$< -l$* $(LAYOUTOPTS) $(XLAYOUTOPTS_LAYER) $o
+ours-s%.ps: layout ours.redacted.segjoins ours.d4
+ ./layout -l$* -e'*=*rldm' -E'=5Q' -e'segjoin=5M' \
+ $(filter-out layout, $^) $o
+
+ours-m%.ps: ours.d4 layout
+ ./layout <$< -l$* -E'=*aRsclDmno' \
+ -E'=5RNLDA' -E'*~=5rCdsml' $(LAYOUTOPTS_PS) $o
+
ours-e%.ps: ours.d4 layout
./layout <$< -l$* -E'=*aRsclMno' \
- -e'p=*rm' -e'=5RN' -E'*~=5rsm' -e'p~=5r' -e'*=*l' $o
+ -e'=5RN' -E'*~=5rsm' -e'p~=5r' -e'*=*l' \
+ -e'[sp]=*rm' $o
ours-p%.ps: ours.d4 layout
./layout <$< -l$$(printf %s "$*" | sed -e 's/-/ -P/') \
$(LAYOUTOPTS_PHYS) $(XLAYOUTOPTS_LAYER) $o
+test-p%.ps: test.d4 layout
+ ./layout <$< -l$$(printf %s "$*" | sed -e 's/-/ -P/') \
+ $(LAYOUTOPTS_PHYS) $(XLAYOUTOPTS_LAYER) $o
+
parts.ps: showlib.d4 layout
./layout <$< $(LAYOUTOPTS_ALL) $o
subseg2display.o compose-segenco.o: segcmap.h
clean:
- -rm -f -- *.d4 *~ t.* *.m *.new core
- -rm -f ours-*.ps parts.ps
+ -rm -f -- *.d4 *~ t.* *.m *.new core *.d
+ -rm -f ours.*.ps ours-*.ps parts.ps *.neato.ps ours.*.neato
+ -rm -f dualjn-*.ps
+ -rm -f *.pin-info *+pindata.asm
+ -rm -f *.redacted.forsafety *.redacted.forneato
-rm -f *.oprint-*.ps *.run-layout
-rm -f *.segcmap *.segcmapreq
-rm -f *.dgram-*.p*.segenco.ps *.dgram-*.p*.segenco.ppm
- -rm -f $(CPROGS) *.o *.d
+ -rm -f *.dgram-*.plandata.c ours.graph.c ours.layout-data.c
+ -rm -f $(CPROGS) *.o *.d ours.redactgraph *.segjoins
+ -rm -f tmp.* ui-plan-*.ppm
.PRECIOUS: $(OPRINTS)
.PRECIOUS: %.segcmap %.segcmapreq %.segenco.ppm %.d4 %.neato %.raw.neato
.PRECIOUS: %.redactgraph %.redacted.forsafety %.redacted.neato
-.PRECIOUS: %.layout-data.c
+.PRECIOUS: %.layout-data.c %.pin-info %.segjoins
include $(wildcard *.d)