# $Id$ # @configure_input@ # Makefile for teTeX distribution, also used for TeX Live. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. srcdir = @srcdir@ VPATH = $(srcdir) SHELL = /bin/sh prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ scriptdir = $(bindir) texmf = @texmfmain@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_DATA = @INSTALL_DATA@ NCURSESDIR=libs/ncurses ZLIBDIR=libs/zlib LIBPNGDIR=libs/libpng LIBT1DIR=libs/t1lib LIBTYPE1DIR=$(LIBT1DIR)/../type1 LIBXPDFDIR=libs/xpdf GDDIR=libs/gd FREETYPEDIR=libs/freetype FREETYPE2DIR=libs/freetype2 ICUDIR=libs/icu-xetex TECKITDIR=libs/teckit LIBOBSDCOMPATDIR=libs/obsdcompat GRAPHITEDIR=libs/graphite-engine # Subdirectories that have makefiles ESUBDIRS = @ESUBDIRS@ texk LIBSDIRS = @LIBSDIRS@ # Subdirectories for which we want to run make (un)install; these are # different for xdvik standalone distribution where we don't want to # install kpathsea and friends by default. INSTDIRS = @INSTDIRS@ default: all install install-exec install-data uninstall: all for dir in $(INSTDIRS); do \ echo making $@ in $$dir; \ (cd $$dir && $(MAKE) $@) || exit 1; \ done # only do this at make install, because the binaries won't be there with # just install-data, and fmtutil.cnf won't be there with just install-exec. if test "$@" = install; then \ echo "top-level make $@: running texlinks ..."; \ cd texk/tetex && $(MAKE) run-texlinks; \ fi strip: install cd $(bindir) && strip * >/dev/null 2>&1 || true check: cd texk; TEXMF='{$(texmf),$(texmf)-dist}' TEXMFCNF=$(texmf)/web2c $(MAKE) $@ Makefile: Makefile.in config.status $(SHELL) ./config.status all clean mostlyclean: esubdirs="$(LIBSDIRS) $(ESUBDIRS)"; \ for dir in $$esubdirs; do \ echo making $@ in $$dir; \ (if test -f $$dir/Makefile; then cd $$dir && $(MAKE) $@; else true; fi) || exit 1; \ done @echo "make $@ done." # to build libraries only, when working on drivers. lib: @LIBSDEP@ distclean: clean cleandirs="$(LIBSDIRS) $(ESUBDIRS)"; \ for dir in $$cleandirs; do \ echo making $@ in $$dir; \ (if test -f $$dir/Makefile; then cd $$dir && $(MAKE) $@; else true; fi) || exit 1; \ done rm -f Makefile *.status *.cache *.log dialogconfig.h TAGS rm -f libs/config.log libs/config.status libs/config.cache rm -f utils/texinfo/info/funs.h utils/texinfo/info/doc.c utils/texinfo/info/key.c realclean: distclean tags TAGS: rm -f TAGS find . -name '*.[ch]' -print | xargs etags --append -o TAGS # # This is the default target for the Build script in TeX Live. world: strip @echo "make $@ done." pdftex pdfetex: cd texk/web2c && $(MAKE) $@ test -f texk/web2c/pdftex && ls -l texk/web2c/pdftex test -f texk/web2c/pdfetex && ls -l texk/web2c/pdfetex $(NCURSESDIR)/lib/libncurses.a: cd $(NCURSESDIR); $(MAKE) $(ZLIBDIR)/libz.a: cd $(ZLIBDIR); $(MAKE) libz.a $(LIBPNGDIR)/libpng.a: cd $(LIBPNGDIR); $(MAKE) libpng.a $(LIBT1DIR)/libt1.a: cd $(LIBT1DIR); $(MAKE) libt1.a $(LIBTYPE1DIR)/libtype1.a: cd $(LIBTYPE1DIR); $(MAKE) libtype1.a $(LIBXPDFDIR)/xpdf/libxpdf.a: cd $(LIBXPDFDIR)/xpdf; $(MAKE) libxpdf.a $(LIBXPDFDIR)/goo/libGoo.a: cd $(LIBXPDFDIR)/goo; $(MAKE) libGoo.a $(LIBXPDFDIR)/fofi/libfofi.a: cd $(LIBXPDFDIR)/fofi; $(MAKE) libfofi.a $(GDDIR)/libgd.a: cd $(GDDIR); $(MAKE) libgd.a $(FREETYPEDIR)/lib/.libs/libttf.a: cd $(FREETYPEDIR); $(MAKE) $(FREETYPE2DIR)/.libs/libfreetype.a: cd $(FREETYPE2DIR); $(MAKE) $(ICUDIR)/lib/libsicuuc.a $(ICUDIR)/lib/libsicule.a $(ICUDIR)/lib/libsicudata.a: cd $(ICUDIR); $(MAKE) $(TECKITDIR)/lib/.libs/libTECkit.a: cd $(TECKITDIR); $(MAKE) $(LIBOBSDCOMPATDIR)/libopenbsd-compat.a: cd $(LIBOBSDCOMPATDIR); $(MAKE) libopenbsd-compat.a $(GRAPHITEDIR)/src/.libs/libgraphite.a: cd $(GRAPHITEDIR); $(MAKE) # Prevent GNU make v3 from overflowing arg limit on SysV. .NOEXPORT: