diff options
author | Karl Berry <karl@freefriends.org> | 2021-02-25 19:22:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-02-25 19:22:25 +0000 |
commit | ad547a6b5986815fda458221149728d9d9ab1d87 (patch) | |
tree | 16296910eb3eca724371474ea9aea3994dc69614 /Build/source/texk/web2c/am/bootstrap.am | |
parent | 947b43de3dd21d58ccc2ffadefc4441ea1c2a813 (diff) |
restore Build,TODO from r57911
git-svn-id: svn://tug.org/texlive/trunk@57915 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/am/bootstrap.am')
-rw-r--r-- | Build/source/texk/web2c/am/bootstrap.am | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/am/bootstrap.am b/Build/source/texk/web2c/am/bootstrap.am new file mode 100644 index 00000000000..63717703ae3 --- /dev/null +++ b/Build/source/texk/web2c/am/bootstrap.am @@ -0,0 +1,99 @@ +## texk/web2c/am/bootstrap.am: Makefile fragment for tangle and ctangle. +## +## Copyright (C) 2009-2015 Peter Breitenlohner <tex-live@tug.org> +## You may freely use, modify and/or distribute this file. + +cp_silent = $(cp_silent_@AM_V@) +cp_silent_ = $(cp_silent_@AM_DEFAULT_V@) +cp_silent_0 = @echo " COPY " $@; +cp_silent_1 = + +# Bootstrapping tangle requires making it with itself. We use the opportunity +# to create an up-to-date tangleboot.pin as well. +bin_PROGRAMS += tangle +nodist_tangle_SOURCES = tangle.c tangle.h +tangle.c tangle.h: tangle-web2c + @$(web2c) tangle +tangle-web2c: tangle.p $(web2c_depend) + @$(web2c) tangle +# tangle.p is a special case, since it is needed to compile itself. We +# convert and compile the (distributed) tangleboot.pin to make a tangle +# which we use to make the other programs. We depend on tangleboot, even +# though we might not use it. +tangle.p: tangleboot$(EXEEXT) tangle.web tangle.ch + $(tangleboot) tangle tangle + @cmp -s tangle.p $(srcdir)/tangleboot.pin || { \ + if $(AM_V_P); then \ + echo "Updating tangle.p => $(srcdir)/tangleboot.pin"; \ + else \ + echo " UPD " tangleboot.pin; \ + fi; cp -f tangle.p $(srcdir)/tangleboot.pin; } +tangle.web: + @echo "You seem to be missing tangle.web, perhaps because you" >&2 + @echo "didn't retrieve web.tar.gz, only web2c.tar.gz." >&2 + @echo "You need both." >&2 + @echo >&2 + @echo "web.tar.gz should be available from the" >&2 + @echo "same place that you got web2c.tar.gz." >&2 + @echo "In any case, you can get it from" >&2 + @echo "ftp://ftp.tug.org/tex/web.tar.gz." >&2 + false +EXTRA_DIST += tangle.web tangle.ch +DISTCLEANFILES += tangle.c tangle.h tangle.p tangle-web2c + +noinst_PROGRAMS += tangleboot +nodist_tangleboot_SOURCES = tangleboot.c tangleboot.h +tangleboot.c tangleboot.h: tangleboot-web2c + @$(web2c) tangleboot +tangleboot-web2c: tangleboot.p $(web2c_depend) + @$(web2c) tangleboot +# tangleboot.pin is in the distribution +.pin.p: + $(cp_silent)cp -f $< $@ +$(tangleboot_OBJECTS): $(tangleboot_DEPENDENCIES) +tangleboot_DEPENDENCIES = $(default_dependencies) +EXTRA_DIST += tangleboot.pin +DISTCLEANFILES += tangleboot.c tangleboot.h tangleboot.p tangleboot-web2c + +# Bootstrapping ctangle requires making it with itself. We use the opportunity +# to create an up-to-date ctangleboot.cin and cwebboot.cin as well. +bin_PROGRAMS += ctangle +nodist_ctangle_SOURCES = ctangle.c cweb.c +# ctangle.c and cweb.c are special cases, since they are needed to compile +# themselves. We depend on ctangleboot, even though we might not use it. +ctangleboot = AM_V_P=$(AM_V_P) $(SHELL) ./ctangleboot-sh $@ +ctangle.c: common-ctangle cwebdir/ctangle.w cwebdir/ctang-w2c.ch + @$(ctangleboot) ctangle ctang-w2c +cweb.c: common-ctangle cwebdir/common.w cwebdir/comm-w2c.ch + @$(ctangleboot) common comm-w2c cweb.c +common-ctangle: ctangleboot$(EXEEXT) cwebdir/comm-w2c.h ctangleboot-sh +EXTRA_DIST += cwebdir +NEVER_DIST += cwebdir/cweave.log cwebdir/cweave.trs +NEVER_DIST += cwebdir/ctwill.log cwebdir/ctwill.trs +NEVER_DIST += cwebdir/refsort.log cwebdir/refsort.trs +NEVER_DIST += cwebdir/twinx.log cwebdir/twinx.trs +## We install man/cweb.man, not cwebdir/cweb.1 +## nodist_man_MANS += cwebdir/cweb.1 +DISTCLEANFILES += ctangle.c cweb.c common-ctangle + +noinst_PROGRAMS += ctangleboot +nodist_ctangleboot_SOURCES = ctangleboot.c cwebboot.c +$(ctangleboot_OBJECTS): $(ctangleboot_DEPENDENCIES) +# ctangleboot.cin and cwebboot.cin are in the distribution +.cin.c: + $(cp_silent)cp -f $< $@ +.hin.h: + $(cp_silent)cp -f $< $@ +ctangleboot_DEPENDENCIES = $(default_dependencies) +EXTRA_DIST += ctangleboot.cin cwebboot.cin +DISTCLEANFILES += ctangleboot.c cwebboot.c + +## Tests +## +EXTRA_DIST += tangle.test + +TESTS += tangle.test +tangle.log: tangle$(EXEEXT) + +DISTCLEANFILES += cftest.p + |