summaryrefslogtreecommitdiff
path: root/Build/source/texk/kpathsea/Makefile.in
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/kpathsea/Makefile.in')
-rw-r--r--Build/source/texk/kpathsea/Makefile.in287
1 files changed, 287 insertions, 0 deletions
diff --git a/Build/source/texk/kpathsea/Makefile.in b/Build/source/texk/kpathsea/Makefile.in
new file mode 100644
index 00000000000..cc3208b2a1e
--- /dev/null
+++ b/Build/source/texk/kpathsea/Makefile.in
@@ -0,0 +1,287 @@
+# Makefile for kpathsea --kb@mail.tug.org. Public domain.
+version = @KPSEVERSION@
+
+# Add -DNO_DEBUG to disable debugging, for vanishingly better performance.
+
+kpse_include ../make/paths.mk
+kpse_include ../make/makevars.mk
+kpse_include ../make/common.mk
+kpse_include ../make/library.mk
+kpse_include ../make/programs.mk
+kpse_include ../make/texi.mk
+
+@MAINT@warn_more = -Wmissing-prototypes -Wwrite-strings -Wshadow
+@MAINT@MAKEINFO_FLAGS := $(MAKEINFO_FLAGS) --no-split
+
+# Install these header files (except acconfig.h).
+install_headers = *.h $(srcdir)/*.h
+
+# Put tex-file.o first, because it's what depends on the paths, and may
+# reduce frustration if the paths are wrong by doing it first.
+
+objects = tex-file.lo absolute.lo atou.lo cnf.lo concat.lo concat3.lo \
+concatn.lo db.lo debug.lo dir.lo elt-dirs.lo expand.lo extend-fname.lo \
+file-p.lo find-suffix.lo fn.lo fontmap.lo getopt.lo getopt1.lo hash.lo \
+kdefault.lo line.lo magstep.lo make-suffix.lo path-elt.lo \
+pathsearch.lo proginit.lo progname.lo readable.lo rm-suffix.lo \
+str-list.lo str-llist.lo tex-glyph.lo tex-hush.lo tex-make.lo \
+tilde.lo truncate.lo uppercasify.lo variable.lo version.lo xbasename.lo \
+xcalloc.lo xdirname.lo xfopen.lo xfseek.lo xftell.lo xgetcwd.lo xmalloc.lo \
+xopendir.lo xputenv.lo xrealloc.lo xstat.lo xstrdup.lo $(liblobjs) $(malloc)
+liblobjs = @LTLIBOBJS@
+
+library = kpathsea
+
+# We want to compile almost everything with libtool ...
+KPATHSEA_CC = $(LIBTOOL) --mode=compile $(CC)
+.SUFFIXES: .lo
+.c.lo:
+ $(KPATHSEA_CC) $(ALL_CFLAGS) -DMAKE_KPSE_DLL -c $<
+
+default all: kpsewhich kpsestat kpseaccess kpsereadlink $(library).info manfiles
+
+kpsewhich: $(kpathsea) kpsewhich.o
+ $(kpathsea_link) kpsewhich.o $(LOADLIBES)
+
+kpsestat: kpsestat.o
+ $(link_command) kpsestat.o
+
+kpseaccess: access.o
+ $(link_command) access.o
+
+kpsereadlink: readlink.o
+ $(link_command) readlink.o
+
+$(kpathsea): $(objects)
+ $(kpathsea_link) -rpath $(libdir) -version-info 4:0:0 $(objects)
+
+# Make variable substitutions for paths.h.
+texmf.cnf: texmf.in texmf.sed
+ sed -f texmf.sed $(srcdir)/texmf.in >$@
+
+# The idea is to turn each var=value into s%@var@%value%g. Seems simpler
+# to put the substitutions in a file than to play shell quoting games.
+texmf.sed: Makefile
+ rm -f texmf.sed
+ echo $(makevars) \
+ | tr ' ' '\012' \
+ | sed -e 's/^/s%@/' -e 's/=/@%/' -e 's/$$/%g/' \
+ >$@
+# Insert $TEXMF in as many of the hardwired paths as possible. We could
+# use the slightly different rule 's%$(texmf)/%\$$TEXMF/%g' and avoid
+# the need for the corrections below. But if texmf.in is edited
+# the heuristic may no longer work.
+ echo 's%$(texmf)%\$$TEXMF%g' >>$@
+# Now we repair the damage this may have caused. Don't replace the rhs of
+# the TEXMFMAIN assignment itself, then we'd end up with TEXMFMAIN = $TEXMF
+# and TEXMF = $TEXMFMAIN. The (commented) assignment of TEXMFLOCAL is
+# likely to have been mangled as well.
+ echo '/^ *TEXMFMAIN[ =]/s%\$$TEXMF%$(texmf)%' >>$@
+ echo '/^[% ]*TEXMFLOCAL[ =]/s%\$$TEXMF%$(texmf)%' >>$@
+ echo '/^[% ]*TEXMFDIST[ =]/s%\$$TEXMF%$(texmf)%' >>$@
+ echo '/^[% ]*VARTEXMF[ =]/s%\$$TEXMF%$(texmf)%' >>$@
+ echo '/^[% ]*TEXMFSYSVAR[ =]/s%\$$TEXMF%$(texmf)%' >>$@
+ echo '/^[% ]*TEXMFSYSCONFIG[ =]/s%\$$TEXMF%$(texmf)%' >>$@
+ echo '/^[% ]*TEXMFSYSVAR[ =]/s%$(texmf)MAIN%\$$TEXMFMAIN%' >>$@
+ echo '/^[% ]*TEXMFSYSCONFIG[ =]/s%$(texmf)MAIN%\$$TEXMFMAIN%' >>$@
+ echo '/^[% ]*TEXMFVAR[ =]/s%\$$TEXMF%$(texmf)%' >>$@
+ echo '/^[% ]*TEXMFCONFIG[ =]/s%\$$TEXMF%$(texmf)%' >>$@
+ echo '/^[% ]*TEXMFVAR[ =]/s%$(texmf)MAIN%\$$TEXMFMAIN%' >>$@
+ echo '/^[% ]*TEXMFCONFIG[ =]/s%$(texmf)MAIN%\$$TEXMFMAIN%' >>$@
+ echo '/^[% ]*TEXMFCNF[ =]/s%\$$TEXMF%$(texmf)%' >>$@
+# And fill in the last clause of TEXMFCNF with an absolute path.
+ echo '/^ *TEXMFCNF[ =]/s%@web2c@%$(web2cdir)%' >>$@
+
+# First null out comments and leading/trailing whitespace, then remove
+# lines that define invalid C identifiers, then remove blank lines and
+# lines that define lowercase values (those are never path values). Each
+# line remaining looks like
+# <name> = <value>
+# (but = and surrounding spaces are optional, hence can't remove all spaces).
+# Change this to #ifndef DEFAULT_name@#define DEFAULT_name "value"@#endif,
+# then change the @'s to newlines (sed isn't good at multiline replacements).
+#
+# No backslash-newline escapes in the long sed replacement because that
+# will turn into a space in the output.
+#
+# Without the $TEXMF/prefix/etc. substitutions, if the cnf file was
+# not found, the compile-time paths would be of little use, since TEXMF
+# (etc.) wouldn't be defined. Alternatively, we could have a way to
+# specify compile-time default values for variables in general, but I
+# think it's better to keep the last-resort paths as simple as possible.
+#
+# The definition of DEFAULT_TEXMF (and other variables)
+# that winds up in the final paths.h will not be used.
+#
+# We don't want to rewrite paths.h when we have only changed comments
+# in texmf.in that have no effect on paths.h, since that would cause
+# almost everything to be rebuilt.
+#
+# We also replace all semicolons with colons in the paths. Ultimately
+# the path-splitting code should be changed to understand both.
+$(kpathsea_dir)/paths.h: stamp-paths
+stamp-paths: texmf.cnf
+ echo "/* paths.h: Generated from texmf.cnf. */" >paths.tmp
+ sed -e 's/%.*//' -e 's/^[ ]*//' -e 's/[ ]*$$//' texmf.cnf \
+ | grep '^[ ]*[A-Z0-9_]*[ =]' \
+ | sed '/^$$/d' \
+ | sed 's/^\([^ =]*\)[ ]*=*[ ]*\(.*\)/#ifndef DEFAULT_\1%#define DEFAULT_\1 "\2"%#endif/' \
+ | tr '%' '\012' \
+ | sed -e 's%\$$TEXMFMAIN%$(texmf)%g' \
+ -e 's%\$$TEXMF%$(texmf)%g' \
+ -e 's%\$$VARTEXFONTS%$(vartexfonts)%g' \
+ -e 's%\$$web2cdir%$(web2cdir)%g' \
+ -e 's%\$$prefix%$(prefix)%g' \
+ | sed -e 's%;%:%g' \
+ >>paths.tmp
+ @if cmp -s paths.h paths.tmp 2>/dev/null; then \
+ echo "paths.h is unchanged"; \
+ else \
+ echo "cp paths.tmp paths.h"; \
+ cp paths.tmp paths.h; \
+ fi
+ rm -f paths.tmp
+ date >stamp-paths
+
+# Need an extra definition for this. Dependencies included below.
+tex-file.o:
+ $(KPATHSEA_CC) -DDEFAULT_FONT_SIZES='\"$(default_texsizes)\"' $(srcdir)/tex-file.c
+
+check: kpsewhich
+ ./kpsewhich -expand-var '$$TEXMF'
+
+install: install-exec install-data
+uninstall: uninstall-exec uninstall-data
+
+install-exec: kpsewhich
+ $(SHELL) $(top_srcdir)/../mkinstalldirs $(bindir) $(scriptdir) \
+ $(libdir) $(web2cdir)
+ if grep 'original mktexpk --' $(scriptdir)/mktexpk >/dev/null 2>&1\
+ || test ! -r $(scriptdir)/mktexpk; then \
+ $(INSTALL_SCRIPT) $(srcdir)/mktexpk $(scriptdir)/mktexpk; \
+ else true; fi
+ if grep 'original mktexmf --' $(scriptdir)/mktexmf >/dev/null 2>&1\
+ || test ! -r $(scriptdir)/mktexmf; then \
+ $(INSTALL_SCRIPT) $(srcdir)/mktexmf $(scriptdir)/mktexmf; \
+ else true; fi
+ if grep 'original mktextfm --' $(scriptdir)/mktextfm >/dev/null 2>&1\
+ || test ! -r $(scriptdir)/mktextfm; then \
+ $(INSTALL_SCRIPT) $(srcdir)/mktextfm $(scriptdir)/mktextfm; \
+ else true; fi
+ if grep 'original mktexlsr --' $(scriptdir)/mktexlsr >/dev/null 2>&1\
+ || test ! -r $(scriptdir)/mktexlsr; then \
+ $(INSTALL_SCRIPT) $(srcdir)/mktexlsr $(scriptdir)/mktexlsr; \
+ else true; fi
+# if grep 'original mktexfmt --' $(scriptdir)/mktexfmt > /dev/null 2>&1\
+# || test ! -r $(scriptdir)/mktexfmt; then \
+# $(INSTALL_SCRIPT) $(srcdir)/mktexfmt $(scriptdir)/mktexfmt; \
+# else true; fi
+ $(INSTALL_DATA) $(srcdir)/mktex.opt $(web2cdir)/mktex.opt
+ $(INSTALL_SCRIPT) $(srcdir)/mktexdir $(web2cdir)/mktexdir
+ $(INSTALL_DATA) $(srcdir)/mktexdir.opt $(web2cdir)/mktexdir.opt
+ $(INSTALL_SCRIPT) $(srcdir)/mktexnam $(web2cdir)/mktexnam
+ $(INSTALL_DATA) $(srcdir)/mktexnam.opt $(web2cdir)/mktexnam.opt
+ $(INSTALL_SCRIPT) $(srcdir)/mktexupd $(web2cdir)/mktexupd
+ $(INSTALL_LIBTOOL_LIBS) lib$(library).la $(libdir)
+ $(INSTALL_LIBTOOL_PROG) kpsewhich $(bindir)
+ $(INSTALL_PROGRAM) kpsestat $(bindir)
+ $(INSTALL_PROGRAM) kpseaccess $(bindir)
+ $(INSTALL_PROGRAM) kpsereadlink $(bindir)
+uninstall-exec:
+ $(UNINSTALL_LIBTOOL_LIBS) $(libdir)/lib$(library).la
+ $(UNINSTALL_LIBTOOL_PROG) $(bindir)/kpsewhich
+ $(UNINSTALL_PROGRAM) $(bindir)/kpsestat
+ $(UNINSTALL_PROGRAM) $(bindir)/kpseaccess
+ $(UNINSTALL_PROGRAM) $(bindir)/kpsereadlink
+
+install-data: texmf.cnf kpathsea.info install-man
+ $(SHELL) $(top_srcdir)/../mkinstalldirs $(texmf) $(infodir) $(web2cdir)
+ if grep 'original texmf.cnf --' $(web2cdir)/texmf.cnf >/dev/null 2>&1 \
+ || test ! -r $(web2cdir)/texmf.cnf; then \
+ $(INSTALL_DATA) texmf.cnf $(web2cdir)/texmf.cnf; \
+ else true; fi
+ test -r ./kpathsea.info || cd $(srcdir) && for i in kpathsea.i*; do \
+ $(INSTALL_DATA) $$i $(infodir)/$$i; done
+# Should we install the headers? They are not just system-dependent,
+# which is bad enough, but even compiler-dependent.
+ $(SHELL) $(top_srcdir)/../mkinstalldirs $(includedir)/kpathsea
+ for f in $(install_headers); do \
+ $(INSTALL_DATA) $$f $(includedir)/kpathsea/; done
+ rm -f $(includedir)/kpathsea/acconfig.h
+ $(POST_INSTALL)
+ test -r $(infodir)/dir || $(INSTALL_DATA) $(top_srcdir)/../dir $(infodir)
+ if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
+ install-info --info-dir=$(infodir) $(infodir)/kpathsea.info; \
+ else true; fi
+
+uninstall-data:
+ $(PRE_UNINSTALL)
+ if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
+ install-info --delete --info-dir=$(infodir) $(infodir)/kpathsea.info; \
+ else true; fi
+ $(NORMAL_UNINSTALL)
+ rm -f $(infodir)/kpathsea.i*
+# for f in $(install_headers); do rm -f $(includedir)/`basename $$f`; done
+
+# distdir is used by other distributions; they define $(distdir).
+distdir: doc $(library).dvi $(library).h
+ rm -rf $(distdir)
+ mkdir -p $(distdir)
+ ln $(ln_files) $(distdir)
+ touch *.info*
+ ln mktex* *.info* *.texi *.ftp $(library).aux $(library).cps $(distdir)
+ rm -f $(distdir)/*.1 $(distdir)/*.man
+ ln *.man $(distdir)
+ ln BUGS README.CONFIGURE HIER PROJECTS *.ac $(distdir)
+ touch kpathsea.h # to avoid .cps.h rule on Solaris
+ cd $(distdir) && rm -f paths.h
+
+# I don't use this, but other programmers want it. acconfig.h is an
+# autoheader input file, not an includable C header. Bad name.
+$(library).h: always
+ rm -f $@
+ echo '/* This is a generated file */' >$@
+ echo '/* collecting all kpathsea headers. */' >>$@
+ echo '#include <kpathsea/config.h>' >>$@
+ ls -1 *.h \
+ | grep -v '\(acconfig\|config\|kpathsea\|win32lib\)\.h' \
+ | sed -e 's,^,#include <kpathsea/,' -e s',$$,>,' >>$@
+ touch -r `ls -1t *.h | tail +2 | head -1` $@
+always:
+.PHONY: always
+
+kpse_include ../make/config.mk
+
+info: $(library).info
+dvi: $(library).dvi
+
+$(library).info: bugs.texi hier.texi install.texi unixtex.texi
+
+@MAINT@INSTALL: install.texi
+@MAINT@ $(MAKEINFO) $(one_info) $(MAKEINFO_FLAGS) $< -o $@
+@MAINT@ $(top_srcdir)/../add-info-toc $@
+@MAINT@BUGS: bugs.texi
+@MAINT@ $(MAKEINFO) $(one_info) $(MAKEINFO_FLAGS) $< -o $@
+@MAINT@ $(top_srcdir)/../add-info-toc $@
+@MAINT@HIER: hier.texi
+@MAINT@ $(MAKEINFO) $(one_info) $(MAKEINFO_FLAGS) $< -o $@
+@MAINT@unixtex.ftp: unixtex.texi
+@MAINT@ $(MAKEINFO) $(one_info) $(MAKEINFO_FLAGS) $< -o $@
+@MAINT@doc: info HIER BUGS INSTALL unixtex.ftp
+
+kpse_include ../make/clean.mk
+
+mostlyclean::
+ rm -f kpsewhich kpsestat kpseaccess kpsereadlink *.lo
+ $(LIBTOOL) --mode=clean $(RM) lib$(library).la
+distclean::
+ rm -f paths.h texmf.cnf texmf.sed stamp-paths
+
+# The manual pages
+manfiles = kpseaccess.1 kpsestat.1 kpsewhich.1 kpsereadlink.1 \
+ mktexlsr.1 mktexmf.1 mktextfm.1 mktexpk.1
+
+kpse_include ../make/man.mk
+
+kpse_include ../make/rdepend.mk
+kpse_include depend.mk