# Make sure that $(SCITECO_FULL) and the SciTECO-based # substitutor for *.in is available. include $(top_srcdir)/bootstrap.am # tedoc is a code documentation tool for SciTECO commands # and macros, extracting comments from SciTECO and C # code. # It generates Troff manpage markup and acts as a Troff # preprocessor to manpage templates. bin_SCRIPTS = tedoc.tes CLEANFILES = tedoc.tes dist_noinst_SCRIPTS = tedoc.tes.in %.in : %.template tedoc.tes @top_srcdir@/src/*.c $(SCITECO_FULL) -m -- tedoc.tes \ -C $@ $< @top_srcdir@/src/*.c # grosciteco is a troff postprocessor similar to grotty # which can be used to produce SciTECO-friendly output # (woman pages). bin_SCRIPTS += grosciteco.tes CLEANFILES += grosciteco.tes dist_noinst_SCRIPTS += grosciteco.tes.in # grosciteco, like many other postprocessors, works # best with its own macro package. # Unfortunately, there is no way to query the built-in # Groff tmac path. # Therefore, the "sciteco" macros are installed into # SciTECO's scitecodatadir. Users can copy this file, set up # environment variables like $GROFF_TMAC_PATH or pass # the directory via `groff -M`. dist_scitecodata_DATA = sciteco.tmac # Fix up the hash-bang line of installed SciTECO scripts. # This takes --prefix and --program-prefix into account. # On the other hand, since this is run at build time, # it breaks bindir-overwriting at `make install` time, # which could only be made to work with an install-exec-hook. # Patching installed scripts however broke the FreeBSD port # builds with Poudriere where BINMODE=555 is set. # It was therefore decided to sacrifice the rarely used # `make install bindir=...` and appease the FreeBSD port # committers instead. %.tes : %.tes.in $(SCITECO_FULL) -qioe '0,^Q::@FR/#!^EM^Xsciteco/#!^EQ[^A1]/^[' \ $(SCITECO_INSTALLED) <$< >$@ womendir = $(scitecolibdir)/women women_DATA = grosciteco.tes.1.woman grosciteco.tes.1.woman.tec CLEANFILES += grosciteco.tes.1 EXTRA_DIST = grosciteco.tes.1.in women_DATA += tedoc.tes.1.woman tedoc.tes.1.woman.tec CLEANFILES += tedoc.tes.1 EXTRA_DIST += tedoc.tes.1.in women_DATA += sciteco.1.woman sciteco.1.woman.tec CLEANFILES += sciteco.1 EXTRA_DIST += sciteco.1.in women_DATA += sciteco.7.woman sciteco.7.woman.tec CLEANFILES += sciteco.7 sciteco.7.in EXTRA_DIST += sciteco.7.template women_DATA += tutorial.woman tutorial.woman.tec CLEANFILES += tutorial.ms EXTRA_DIST += tutorial.ms.in CLEANFILES += $(women_DATA) # NOTE: grosciteco.tes generates two artifacts, but two targets in one rule would be independent. # Grouped targets (&:) on the other hand are unreliable/buggy. %.woman.tec : %.woman; %.woman : % sciteco.tmac grosciteco.tes @GROFF@ @GROFF_FLAGS@ -wall -Z -Tutf8 -t -man -M@srcdir@ -msciteco $< | \ $(SCITECO_FULL) -im -- grosciteco.tes $@ tutorial.woman : tutorial.ms sciteco.tmac grosciteco.tes @GROFF@ @GROFF_FLAGS@ -wall -Z -Tutf8 -t -ms -M@srcdir@ -msciteco $< | \ $(SCITECO_FULL) -im -- grosciteco.tes $@ man_MANS = grosciteco.tes.1 tedoc.tes.1 sciteco.1 sciteco.7 dist_noinst_SCRIPTS += htbl.tes if BUILD_HTMLDOCS html_DATA = grosciteco.tes.1.html tedoc.tes.1.html \ sciteco.1.html sciteco.7.html tutorial.html CLEANFILES += $(html_DATA) endif %.html : % htbl.tes $(SCITECO_FULL) -qiom -- @srcdir@/htbl.tes <$< | \ @GROFF@ @GROFF_FLAGS@ -wall -Thtml -man >$@ %.html : %.ms @GROFF@ @GROFF_FLAGS@ -wall -Thtml -ms $< >$@ # FIXME: We may want to build the cheat sheet automatically. # This would require a full Groff installation, though. EXTRA_DIST += cheat-sheet.mm # # Doxygen processing (do not install or distribute) # devdoc : doxygen/ .PHONY: doxygen/ doxygen/ : Doxyfile -rm -rf doxygen/ @DOXYGEN@ $< clean-local: -rm -rf doxygen/