chiark / gitweb /
make zipfiles
[trains.git] / spice / Makefile
index 95fc289792ccf57c2a48cc66d928df4bb2b2e775..4492f1ef662098583ac229988bb6391a6a5b9230 100644 (file)
@@ -53,6 +53,28 @@ OPRINTS=     %.oprint-copper.ps              \
 %.hole-rep:    %.pcb hole-report.pl
                ./hole-report.pl <$< $o
 
+include reversers.layers.dep
+include detectors.layers.dep
+
+%.zip:         layers.txt.tmpl Makefile
+               rm -rf $@.d; mkdir -p $@.d
+               set -e; exec <$<; cd $@.d; perl -pe '                   \
+                       m/^(\S+)\s+(\w+)\s+(\w+)\s+(\S.*)$$/ or die;    \
+                       system "cp ../$*.pcb.output_$$1.$$3 $$2.$$3";   \
+                       die $$? if $$?;                                 \
+                       $$_= sprintf "%-20s %s\n", $$2.$$3, $$4;        \
+               ' >readme.txt;                                          \
+               zip -l ../$@.new *
+               mv -f $@.new $@
+               unzip -v $@
+
+$*.zip: $*.pcb.output_$$1.$$2/ or die' \
+
+%.layers.dep:  layers.txt.tmpl Makefile
+               perl -pe \
+       's/^(\S+)\s+\w+\s+(\w+)\s.*/$*.zip: $*.pcb.output_$$1.$$2/ or die' \
+                       <$< $o
+
 both.hole-rep: hole-report.pl reversers.pcb detectors.pcb
                ./$^ $o