chiark / gitweb /
segment labelling work-in-progress - yet to do are labels and graph colouring
[trains.git] / layout / Makefile
index fc1c3b4259bfa9dbcbc42a5a3d4608959dbfb35d..e4d19afa81f34d3c61e437a2cec97121fabef5a1 100644 (file)
@@ -7,36 +7,47 @@ E_TRACK=      ArsCLMNo
 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      \
@@ -62,16 +73,16 @@ compose-segenco: compose-segenco.o
 %.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
 
@@ -79,10 +90,10 @@ ui-plan-%.c:        plan-to-gui-data ours.dgram-%.segcmap ui-plan-%.ppm
                $(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
@@ -115,14 +126,27 @@ ours.graph.c:     extractgraph ours.dgram-bot.p0.segenco.ps
 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
 
@@ -138,16 +162,21 @@ ui-plan-%.ppm:    ours.dgram-%.pa.segenco.ppm Makefile
 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)