## texk/am/script_links.am: Makefile fragment for lua/perl/shell script links. ## ## Copyright (C) 2011 Peter Breitenlohner ## You may freely use, modify and/or distribute this file. ## ## Install/uninstall 'linked scripts' or win32 wrappers ## to use it, add prerequisite uninstall-links to uninstall-hook and ## one ore more of install-{lua,perl,shell}-scripts to install-data-hook ## ## requires conditionals WIN32 and WIN32_WRAP ## requires $(scriptsdir): e.g., texmf/scripts/chktex ## appends to $(nodist_bin_SCRIPTS) and $(EXTRA_DIST) ## ## install-lua-scripts requires $(lua_scripts), e.g., musixflx ## install-perl-scripts requires $(perl_scripts), e.g., deweb ## install-shell-scripts requires $(shell_scripts), e.g. htlatex ## ## shell_scripts are somewhat special because win32 needs ## additional .bat scripts or similar .PHONY: install-lua-links install-perl-links install-shell-links \ install-links uninstall-links all_scripts = $(lua_scripts) $(perl_scripts) $(shell_scripts) if WIN32 if WIN32_WRAP ## We treat the WIN32 wrappers as SCRIPTS to avoid automatic build rules wrappers = $(all_scripts:=.exe) nodist_bin_SCRIPTS += $(wrappers) runscript = $(top_srcdir)/../../texk/texlive/w32_wrapper/runscript.exe $(wrappers): $(runscript) $(LN_S) $(runscript) $@ endif WIN32_WRAP endif WIN32 install-lua-links: if !WIN32 $(MAKE) $(AM_MAKEFLAGS) TYPE=lua EXT=lua install-links endif !WIN32 install-perl-links: if !WIN32 $(MAKE) $(AM_MAKEFLAGS) TYPE=perl EXT=pl install-links endif !WIN32 install-shell-links: if !WIN32 $(MAKE) $(AM_MAKEFLAGS) TYPE=shell EXT=sh install-links endif !WIN32 EXTRA_DIST += ../../build-aux/relpath # We support native builds, multiplatform or not, as well as distro builds. install-links: @REL=`$(SHELL) $(srcdir)/../../build-aux/relpath '$(DESTDIR)' '$(bindir)' '$(prefix)'`; \ if test -z "$$REL"; then \ echo 'unable to compute relative path for linked $(TYPE) scripts' >&2; \ exit 1; \ fi; \ cd $(DESTDIR)$(bindir) && \ for f in $($(TYPE)_scripts); do \ rm -f $$f; \ echo "creating link '$$f' -> '$$REL/$(scriptsdir)/$$f.$(EXT)'"; \ $(LN_S) $$REL/$(scriptsdir)/$$f.$(EXT) $$f || exit 1; \ done uninstall-links: if !WIN32 @for f in $(all_scripts); do \ echo "rm -f '$(DESTDIR)$(bindir)/$$f'"; \ rm -f "$(DESTDIR)$(bindir)/$$f"; \ done endif !WIN32