diff options
Diffstat (limited to 'web/noweb/contrib/kostas/Makefile.make')
-rw-r--r-- | web/noweb/contrib/kostas/Makefile.make | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/web/noweb/contrib/kostas/Makefile.make b/web/noweb/contrib/kostas/Makefile.make new file mode 100644 index 0000000000..27bbffad71 --- /dev/null +++ b/web/noweb/contrib/kostas/Makefile.make @@ -0,0 +1,75 @@ +# Only works with Gnu make. + +LIB=/opt/noweb/lib +ICONC=icont +# This is supposed to be the defns.nw file in the icon directory of the distribution. +defns=defns.nw +TANGLE=notangle +WEAVE=noweave -delay -filter icon.filter -index + +.SUFFIXES: .nw .icn .tex .dvi + + +all: C.filter C++.filter icon.filter oot.filter math.filter\ + autodefs.oot autodefs.math + +install: + mv *.filter $(LIB) + mv autodefs.* $(LIB) + + +# TeX files. +%.tex : %.nw + $(WEAVE) $< > $@ +pp.tex: pp.nw + noweave -delay -autodefs icon -filter icon.filter -index pp.nw > pp.tex +%.dvi : %.tex + latex $< +# Don't delete the intermediate .tex file. +.PRECIOUS : %.tex + + +# Icon files. +C.icn: pp.nw C_translation_table + $(TANGLE) -R"C" pp.nw > $@ +C++.icn: pp.nw C++_translation_table + $(TANGLE) -R"C++" pp.nw > $@ +icon.icn: pp.nw icon_translation_table + $(TANGLE) -R"Icon" pp.nw > $@ +oot.icn: pp.nw oot_translation_table + $(TANGLE) -R"OOT" pp.nw > $@ +math.icn: pp.nw math_translation_table + $(TANGLE) -R"Mathematica" pp.nw > $@ + +ootdefs.icn: ootdefs.nw + $(TANGLE) $< $(defns) > $@ +mathdefs.icn: mathdefs.nw + $(TANGLE) $< $(defns) > $@ + + +# Executables: filters. +%.filter : %.icn + $(ICONC) -o $@ $< + +# Executables: autodefs. +autodefs.oot: ootdefs.icn + $(ICONC) -o autodefs.oot ootdefs.icn +autodefs.math: mathdefs.icn + $(ICONC) -o autodefs.math mathdefs.icn + + +# Cleaning: remove all files that can be recreated from noweb sources. +nowebs := $(wildcard *.nw) +rem := $(nowebs:.nw=.icn) +rem := $(rem) $(nowebs:.nw=.tex) +rem := $(rem) $(nowebs:.nw=.log) +rem := $(rem) $(nowebs:.nw=.aux) +rem := $(rem) $(nowebs:.nw=.toc) + + +# Also remove the Icon files for the filters. +clean: + -rm -f $(rem) C.icn C++.icn icon.icn oot.icn math.icn *.filter autodefs.* + + + |