# $Id$ # @configure_input@ # Makefile for texlive's extra scripts. # Public domain. kpse_include ../make/paths.mk kpse_include ../make/common.mk kpse_include ../make/programs.mk # Copies of these scripts exist in /source/live_scripts/ for the sake # of avoiding dangling links produced by Build; the instances # in texmf are the masters (except when it is CTAN). LINKED_SCRIPTS = \ texmf/scripts/a2ping/a2ping.pl \ texmf/scripts/epstopdf/epstopdf.pl \ texmf/scripts/pkfix/pkfix.pl \ texmf/scripts/ps2eps/ps2eps.pl \ texmf/scripts/simpdftex/simpdftex \ texmf/scripts/tetex/e2pall.pl \ texmf/scripts/tetex/texdoctk.pl \ texmf/scripts/texlive/getnonfreefonts.pl \ texmf/scripts/texlive/rungs.tlu \ texmf/scripts/texlive/texdoc.tlu \ texmf/scripts/texlive/tlmgr.pl \ texmf-dist/scripts/bengali/ebong.py \ texmf-dist/scripts/dviasm/dviasm.py \ texmf-dist/scripts/glossaries/makeglossaries \ texmf-dist/scripts/mkjobtexmf/mkjobtexmf.pl \ texmf-dist/scripts/oberdiek/pdfatfi.pl \ texmf-dist/scripts/pdfcrop/pdfcrop.pl \ texmf-dist/scripts/perltex/perltex.pl \ texmf-dist/scripts/ppower4/pdfthumb.texlua \ texmf-dist/scripts/ppower4/ppower4.texlua \ texmf-dist/scripts/pst-pdf/ps4pdf \ texmf-dist/scripts/pst2pdf/pst2pdf.pl \ texmf-dist/scripts/texcount/TeXcount.pl \ texmf-dist/scripts/thumbpdf/thumbpdf.pl \ texmf-dist/scripts/vpe/vpe.pl \ texmf-dist/scripts/context/ruby/texmfstart.rb \ texmf-dist/scripts/context/stubs/unix/context \ texmf-dist/scripts/context/stubs/unix/ctxtools \ texmf-dist/scripts/context/stubs/unix/exatools \ texmf-dist/scripts/context/stubs/unix/luatools \ texmf-dist/scripts/context/stubs/unix/makempy \ texmf-dist/scripts/context/stubs/unix/mpstools \ texmf-dist/scripts/context/stubs/unix/mptopdf \ texmf-dist/scripts/context/stubs/unix/mtxrun \ texmf-dist/scripts/context/stubs/unix/mtxtools \ texmf-dist/scripts/context/stubs/unix/pdftools \ texmf-dist/scripts/context/stubs/unix/pdftrimwhite \ texmf-dist/scripts/context/stubs/unix/pstopdf \ texmf-dist/scripts/context/stubs/unix/rlxtools \ texmf-dist/scripts/context/stubs/unix/runtools \ texmf-dist/scripts/context/stubs/unix/texexec \ texmf-dist/scripts/context/stubs/unix/texfind \ texmf-dist/scripts/context/stubs/unix/texfont \ texmf-dist/scripts/context/stubs/unix/texshow \ texmf-dist/scripts/context/stubs/unix/textools \ texmf-dist/scripts/context/stubs/unix/texutil \ texmf-dist/scripts/context/stubs/unix/tmftools \ texmf-dist/scripts/context/stubs/unix/xmltools \ manpgs = getnonfreefonts getnonfreefonts-sys all: default: all install: install-data install-exec # Auxiliary files. install-data:: for p in $(manpgs); do \ $(INSTALL_DATA) $(srcdir)/$$p.man $(man1dir)/$$p.$(manext); \ done # The idea is to install the scripts themselves in texmf*/scripts, and # have bin/arch/foo be a symlink to, say, # ../../texmf/scripts/foo/foo.pl. That way we save a bit of disk space, # but more importantly omit duplication, and most importantly make it # possible to invoke the same Perl script on Windows (via # tl-w32-wrapper.texlua). # # The installation into texmf*/scripts is ideally done with ctan2tl. # The copy of the texlua wrapper for Windows is also done by hand, but # could/should also be done by ctan2tl. The check-wrapper-consistency # script at least checks after the fact for problems. # # We also keep a copy of all the scripts here, in the linked_scripts # subdirectory, and install from there into the runtime. This is purely # for other distro builders, so symlinks are not dangling in the # inst/bin dir (it is meaningless in native TL). We have not yet # written the auto-update to ensure linked_scripts is actually up to # date with the masters in Master/texmf*/script, but it will happen. # # By the way, $(scriptdir) here is the binary directory, e.g., # bin/i386-linux, not the texmf*/scripts dir. # install-exec: -$(SHELL) $(srcdir)/../mkinstalldirs $(scriptdir) # - link to the basename, removing any extension, of the source. # - we downcase for the sake of TeXcount.pl -> texcount. # - the purpose of the case..esac is to support both multiplatform and # non-multiplatform builds. for s in $(LINKED_SCRIPTS); do \ target=$(scriptdir)/`basename $$s | sed 's,\.[^/]*$$,,' | tr '[A-Z]' '[a-z]'`; \ target=$$target; \ rm -f $$target; \ case "$(scriptdir)" in \ */bin) d=..;; \ */bin/*) d=../..;; \ *) echo "$(scriptdir): strange directory for linked scripts" >&2;\ exit 1;; \ esac; \ $(SHELL) $(srcdir)/../mkinstalldirs $(prefix)/`dirname $$s`; \ $(INSTALL_SCRIPT) $(srcdir)/linked_scripts/`basename $$s` $(prefix)/$$s; \ ln -s $$d/$$s $$target; \ done rm -f $(scriptdir)/getnonfreefonts-sys ln -s getnonfreefonts $(scriptdir)/getnonfreefonts-sys kpse_include ../make/clean.mk config.status: $(srcdir)/configure $(SHELL) $(srcdir)/configure --no-create --verbose Makefile: $(srcdir)/Makefile.in config.status $(SHELL) config.status depend: check: