diff --git a/.aspell.en.pws b/.aspell.en.pws index 77417cee..f6dc4da9 100644 --- a/.aspell.en.pws +++ b/.aspell.en.pws @@ -1,4 +1,4 @@ -personal_ws-1.1 en 821 +personal_ws-1.1 en 823 ABBRVLIST ActiveTcl Adrien @@ -234,6 +234,7 @@ autoload automake autopoint autoreconf +autotools availabilities avx backticks @@ -765,6 +766,7 @@ tracepat tty tweakable txt +umask un uname uncomplete diff --git a/Makefile b/Makefile index c298b602..b304adc0 100644 --- a/Makefile +++ b/Makefile @@ -5,6 +5,12 @@ uninstall-testconfig uninstall dist dist-tar dist-gzip dist-bzip2 \ dist-win srpm rpm clean distclean test-deps test testinstall testsyntax +# commands to install files +INSTALL = install +INSTALL_DIR = $(INSTALL) -d -m 755 +INSTALL_DATA = $(INSTALL) -m 644 +INSTALL_PROGRAM = $(INSTALL) -m 755 + # download command and its options WGET := wget --retry-connrefused --waitretry=20 --timeout=20 --tries=3 @@ -578,39 +584,39 @@ testsuite/example/initrc: testsuite/example/initrc.in install-testsiteconfig: testsuite/example/siteconfig.tcl $(MAKE) -C init install-testconfig DESTDIR='$(DESTDIR)' - cp $^ '$(DESTDIR)$(etcdir)/' + $(INSTALL_DATA) $^ '$(DESTDIR)$(etcdir)/' install-testsiteconfig-1: testsuite/example/siteconfig.tcl-1 $(MAKE) -C init install-testconfig DESTDIR='$(DESTDIR)' - cp $^ '$(DESTDIR)$(etcdir)/siteconfig.tcl' + $(INSTALL_DATA) $^ '$(DESTDIR)$(etcdir)/siteconfig.tcl' install-testmodulerc: testsuite/example/modulerc $(MAKE) -C init install-testconfig DESTDIR='$(DESTDIR)' - cp $^ '$(DESTDIR)$(initrc)' + $(INSTALL_DATA) $^ '$(DESTDIR)$(initrc)' install-testinitrc-1: testsuite/example/initrc-1 $(MAKE) -C init install-testconfig DESTDIR='$(DESTDIR)' - cp $^ '$(DESTDIR)$(initrc)' + $(INSTALL_DATA) $^ '$(DESTDIR)$(initrc)' install-testinitrc: testsuite/example/initrc $(MAKE) -C init install-testconfig DESTDIR='$(DESTDIR)' - cp $^ '$(DESTDIR)$(initrc)' + $(INSTALL_DATA) $^ '$(DESTDIR)$(initrc)' install-testetcrc: testsuite/etc/empty $(MAKE) -C init install-testconfig DESTDIR='$(DESTDIR)' - cp $^ '$(DESTDIR)$(etcdir)/rc' + $(INSTALL_DATA) $^ '$(DESTDIR)$(etcdir)/rc' install-testmodspath: testsuite/example/.modulespath $(MAKE) -C init install-testconfig DESTDIR='$(DESTDIR)' - cp $^ '$(DESTDIR)$(modulespath)' + $(INSTALL_DATA) $^ '$(DESTDIR)$(modulespath)' install-testmodspath-empty: testsuite/example/modulespath-empty $(MAKE) -C init install-testconfig DESTDIR='$(DESTDIR)' - cp $^ '$(DESTDIR)$(modulespath)' + $(INSTALL_DATA) $^ '$(DESTDIR)$(modulespath)' install-testmodspath-wild: testsuite/example/modulespath-wild $(MAKE) -C init install-testconfig DESTDIR='$(DESTDIR)' - cp $^ '$(DESTDIR)$(modulespath)' + $(INSTALL_DATA) $^ '$(DESTDIR)$(modulespath)' uninstall-testconfig: rm -f '$(DESTDIR)$(etcdir)/rc' @@ -623,56 +629,47 @@ uninstall-testconfig: space := $(subst ,, ) install: $(INSTALL_PREREQ) - mkdir -p '$(DESTDIR)$(libexecdir)' - mkdir -p '$(DESTDIR)$(bindir)' - mkdir -p '$(DESTDIR)$(etcdir)' - cp modulecmd.tcl '$(DESTDIR)$(libexecdir)/' - chmod +x '$(DESTDIR)$(libexecdir)/modulecmd.tcl' + $(INSTALL_DIR) '$(DESTDIR)$(libexecdir)' + $(INSTALL_DIR) '$(DESTDIR)$(bindir)' + $(INSTALL_DIR) '$(DESTDIR)$(etcdir)' + $(INSTALL_PROGRAM) modulecmd.tcl '$(DESTDIR)$(libexecdir)/' ifeq ($(libtclenvmodules),y) - mkdir -p '$(DESTDIR)$(libdir)' - cp lib/libtclenvmodules$(SHLIB_SUFFIX) '$(DESTDIR)$(libdir)/libtclenvmodules$(SHLIB_SUFFIX)' - chmod +x '$(DESTDIR)$(libdir)/libtclenvmodules$(SHLIB_SUFFIX)' + $(INSTALL_DIR) '$(DESTDIR)$(libdir)' + $(INSTALL_PROGRAM) lib/libtclenvmodules$(SHLIB_SUFFIX) '$(DESTDIR)$(libdir)/' endif - cp script/envml '$(DESTDIR)$(bindir)/' - chmod +x '$(DESTDIR)$(bindir)/envml' - cp script/add.modules '$(DESTDIR)$(bindir)/' - chmod +x '$(DESTDIR)$(bindir)/add.modules' - cp script/modulecmd '$(DESTDIR)$(bindir)/' - chmod +x '$(DESTDIR)$(bindir)/modulecmd' - cp script/mkroot '$(DESTDIR)$(bindir)/' - chmod +x '$(DESTDIR)$(bindir)/mkroot' + $(INSTALL_PROGRAM) script/envml '$(DESTDIR)$(bindir)/' + $(INSTALL_PROGRAM) script/add.modules '$(DESTDIR)$(bindir)/' + $(INSTALL_PROGRAM) script/modulecmd '$(DESTDIR)$(bindir)/' + $(INSTALL_PROGRAM) script/mkroot '$(DESTDIR)$(bindir)/' ifeq ($(windowssupport),y) - cp script/module.cmd '$(DESTDIR)$(bindir)/' - chmod +x '$(DESTDIR)$(bindir)/module.cmd' - cp script/ml.cmd '$(DESTDIR)$(bindir)/' - chmod +x '$(DESTDIR)$(bindir)/ml.cmd' - cp script/envml.cmd '$(DESTDIR)$(bindir)/' - chmod +x '$(DESTDIR)$(bindir)/envml.cmd' + $(INSTALL_PROGRAM) script/module.cmd '$(DESTDIR)$(bindir)/' + $(INSTALL_PROGRAM) script/ml.cmd '$(DESTDIR)$(bindir)/' + $(INSTALL_PROGRAM) script/envml.cmd '$(DESTDIR)$(bindir)/' endif ifneq ($(wildcard $(subst $(space),\$(space),$(DESTDIR)$(etcdir)/siteconfig.tcl)),$(DESTDIR)$(etcdir)/siteconfig.tcl) - cp siteconfig.tcl '$(DESTDIR)$(etcdir)/siteconfig.tcl' + $(INSTALL_DATA) siteconfig.tcl '$(DESTDIR)$(etcdir)/' endif ifeq ($(docinstall),y) - mkdir -p '$(DESTDIR)$(docdir)' - cp COPYING.GPLv2 '$(DESTDIR)$(docdir)/' - cp ChangeLog '$(DESTDIR)$(docdir)/' - cp README '$(DESTDIR)$(docdir)/' + $(INSTALL_DIR) '$(DESTDIR)$(docdir)' + $(INSTALL_DATA) COPYING.GPLv2 '$(DESTDIR)$(docdir)/' + $(INSTALL_DATA) ChangeLog '$(DESTDIR)$(docdir)/' + $(INSTALL_DATA) README '$(DESTDIR)$(docdir)/' endif ifeq ($(vimaddons),y) - mkdir -p '$(DESTDIR)$(vimdatadir)/ftdetect' - mkdir -p '$(DESTDIR)$(vimdatadir)/ftplugin' - mkdir -p '$(DESTDIR)$(vimdatadir)/syntax' - cp contrib/vim/ftdetect/modulefile.vim '$(DESTDIR)$(vimdatadir)/ftdetect' - cp contrib/vim/ftplugin/modulefile.vim '$(DESTDIR)$(vimdatadir)/ftplugin' - cp contrib/vim/syntax/modulefile.vim '$(DESTDIR)$(vimdatadir)/syntax' + $(INSTALL_DIR) '$(DESTDIR)$(vimdatadir)/ftdetect' + $(INSTALL_DIR) '$(DESTDIR)$(vimdatadir)/ftplugin' + $(INSTALL_DIR) '$(DESTDIR)$(vimdatadir)/syntax' + $(INSTALL_DATA) contrib/vim/ftdetect/modulefile.vim '$(DESTDIR)$(vimdatadir)/ftdetect' + $(INSTALL_DATA) contrib/vim/ftplugin/modulefile.vim '$(DESTDIR)$(vimdatadir)/ftplugin' + $(INSTALL_DATA) contrib/vim/syntax/modulefile.vim '$(DESTDIR)$(vimdatadir)/syntax' endif ifeq ($(nagelfaraddons),y) - mkdir -p '$(DESTDIR)$(nagelfardatadir)' - cp contrib/nagelfar/plugin_modulefile.tcl '$(DESTDIR)$(nagelfardatadir)/' - cp contrib/nagelfar/plugin_modulerc.tcl '$(DESTDIR)$(nagelfardatadir)/' - cp contrib/nagelfar/plugin_globalrc.tcl '$(DESTDIR)$(nagelfardatadir)/' - cp contrib/nagelfar/syntaxdb_modulefile.tcl '$(DESTDIR)$(nagelfardatadir)/' - cp contrib/nagelfar/syntaxdb_modulerc.tcl '$(DESTDIR)$(nagelfardatadir)/' + $(INSTALL_DIR) '$(DESTDIR)$(nagelfardatadir)' + $(INSTALL_DATA) contrib/nagelfar/plugin_modulefile.tcl '$(DESTDIR)$(nagelfardatadir)/' + $(INSTALL_DATA) contrib/nagelfar/plugin_modulerc.tcl '$(DESTDIR)$(nagelfardatadir)/' + $(INSTALL_DATA) contrib/nagelfar/plugin_globalrc.tcl '$(DESTDIR)$(nagelfardatadir)/' + $(INSTALL_DATA) contrib/nagelfar/syntaxdb_modulefile.tcl '$(DESTDIR)$(nagelfardatadir)/' + $(INSTALL_DATA) contrib/nagelfar/syntaxdb_modulerc.tcl '$(DESTDIR)$(nagelfardatadir)/' endif $(MAKE) -C init install DESTDIR='$(DESTDIR)' ifneq ($(builddoc),n) @@ -770,27 +767,27 @@ dist: dist-gzip # dist zip ball for Windows platform with all pre-generated relevant files dist-win: modulecmd.tcl ChangeLog README pkgdoc $(ECHO_GEN2) $(DIST_WIN_PREFIX).zip - mkdir $(DIST_WIN_PREFIX) - mkdir $(DIST_WIN_PREFIX)/libexec - cp modulecmd.tcl $(DIST_WIN_PREFIX)/libexec/ - mkdir $(DIST_WIN_PREFIX)/bin - cp script/module.cmd $(DIST_WIN_PREFIX)/bin/ - cp script/ml.cmd $(DIST_WIN_PREFIX)/bin/ - cp script/envml.cmd $(DIST_WIN_PREFIX)/bin/ - mkdir $(DIST_WIN_PREFIX)/doc - cp COPYING.GPLv2 $(DIST_WIN_PREFIX)/doc/ - cp ChangeLog $(DIST_WIN_PREFIX)/doc/ - cp README $(DIST_WIN_PREFIX)/doc/ - cp doc/build/MIGRATING.txt $(DIST_WIN_PREFIX)/doc/ - cp doc/build/INSTALL-win.txt $(DIST_WIN_PREFIX)/doc/ - cp doc/build/NEWS.txt $(DIST_WIN_PREFIX)/doc/ - cp doc/build/CONTRIBUTING.txt $(DIST_WIN_PREFIX)/doc/ - cp doc/build/module.txt $(DIST_WIN_PREFIX)/doc/ - cp doc/build/modulefile.txt $(DIST_WIN_PREFIX)/doc/ + $(INSTALL_DIR) $(DIST_WIN_PREFIX) + $(INSTALL_DIR) $(DIST_WIN_PREFIX)/libexec + $(INSTALL_PROGRAM) modulecmd.tcl $(DIST_WIN_PREFIX)/libexec/ + $(INSTALL_DIR) $(DIST_WIN_PREFIX)/bin + $(INSTALL_PROGRAM) script/module.cmd $(DIST_WIN_PREFIX)/bin/ + $(INSTALL_PROGRAM) script/ml.cmd $(DIST_WIN_PREFIX)/bin/ + $(INSTALL_PROGRAM) script/envml.cmd $(DIST_WIN_PREFIX)/bin/ + $(INSTALL_DIR) $(DIST_WIN_PREFIX)/doc + $(INSTALL_DATA) COPYING.GPLv2 $(DIST_WIN_PREFIX)/doc/ + $(INSTALL_DATA) ChangeLog $(DIST_WIN_PREFIX)/doc/ + $(INSTALL_DATA) README $(DIST_WIN_PREFIX)/doc/ + $(INSTALL_DATA) doc/build/MIGRATING.txt $(DIST_WIN_PREFIX)/doc/ + $(INSTALL_DATA) doc/build/INSTALL-win.txt $(DIST_WIN_PREFIX)/doc/ + $(INSTALL_DATA) doc/build/NEWS.txt $(DIST_WIN_PREFIX)/doc/ + $(INSTALL_DATA) doc/build/CONTRIBUTING.txt $(DIST_WIN_PREFIX)/doc/ + $(INSTALL_DATA) doc/build/module.txt $(DIST_WIN_PREFIX)/doc/ + $(INSTALL_DATA) doc/build/modulefile.txt $(DIST_WIN_PREFIX)/doc/ $(MAKE) --no-print-directory -C init dist-win DIST_WIN_PREFIX=../$(DIST_WIN_PREFIX) - cp script/INSTALL.bat $(DIST_WIN_PREFIX)/ - cp script/UNINSTALL.bat $(DIST_WIN_PREFIX)/ - cp script/TESTINSTALL.bat $(DIST_WIN_PREFIX)/ + $(INSTALL_PROGRAM) script/INSTALL.bat $(DIST_WIN_PREFIX)/ + $(INSTALL_PROGRAM) script/UNINSTALL.bat $(DIST_WIN_PREFIX)/ + $(INSTALL_PROGRAM) script/TESTINSTALL.bat $(DIST_WIN_PREFIX)/ zip -r $(DIST_WIN_PREFIX).zip $(DIST_WIN_PREFIX) rm -rf $(DIST_WIN_PREFIX) diff --git a/NEWS.rst b/NEWS.rst index d7d0e799..9b66c8d6 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -62,6 +62,9 @@ Modules 5.2.0 (not yet released) modulefiles, modulerc and global/user rc with `Nagelfar`_. These files are installed in the directory designated by the :instopt:`--nagelfardatadir` (``DATAROOTDIR/nagelfar`` by default). +* Install: use :command:`install` command rather :command:`cp` or + :command:`mkdir` to install Modules and guaranty consistent permission modes + on deployed files. .. _Nagelfar: http://nagelfar.sourceforge.net/ diff --git a/doc/Makefile b/doc/Makefile index f79fb1e3..a7f3e6e2 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -7,6 +7,11 @@ BUILD_DIR := build SPHINXOPTS := -q +# commands to install files +INSTALL = install +INSTALL_DIR = $(INSTALL) -d -m 755 +INSTALL_DATA = $(INSTALL) -m 644 + # source definitions shared across the Makefiles of this project ifneq ($(wildcard ../Makefile.inc),../Makefile.inc) $(error ../Makefile.inc is missing, please run '../configure') @@ -104,19 +109,19 @@ $(BUILD_DIR)/module.1: $(BUILD_DIR)/module.1.in $(translate-in-script) install: man txt - mkdir -p '$(DESTDIR)$(mandir)/man1' '$(DESTDIR)$(mandir)/man4' + $(INSTALL_DIR) '$(DESTDIR)$(mandir)/man1' '$(DESTDIR)$(mandir)/man4' ifeq ($(docinstall),y) - mkdir -p '$(DESTDIR)$(docdir)' - cp $(BUILD_DIR)/changes.txt '$(DESTDIR)$(docdir)/' - cp $(BUILD_DIR)/MIGRATING.txt '$(DESTDIR)$(docdir)/' - cp $(BUILD_DIR)/INSTALL.txt '$(DESTDIR)$(docdir)/' - cp $(BUILD_DIR)/INSTALL-win.txt '$(DESTDIR)$(docdir)/' - cp $(BUILD_DIR)/NEWS.txt '$(DESTDIR)$(docdir)/' - cp $(BUILD_DIR)/CONTRIBUTING.txt '$(DESTDIR)$(docdir)/' + $(INSTALL_DIR) '$(DESTDIR)$(docdir)' + $(INSTALL_DATA) $(BUILD_DIR)/changes.txt '$(DESTDIR)$(docdir)/' + $(INSTALL_DATA) $(BUILD_DIR)/MIGRATING.txt '$(DESTDIR)$(docdir)/' + $(INSTALL_DATA) $(BUILD_DIR)/INSTALL.txt '$(DESTDIR)$(docdir)/' + $(INSTALL_DATA) $(BUILD_DIR)/INSTALL-win.txt '$(DESTDIR)$(docdir)/' + $(INSTALL_DATA) $(BUILD_DIR)/NEWS.txt '$(DESTDIR)$(docdir)/' + $(INSTALL_DATA) $(BUILD_DIR)/CONTRIBUTING.txt '$(DESTDIR)$(docdir)/' endif - cp $(BUILD_DIR)/module.1 '$(DESTDIR)$(mandir)/man1/' - cp $(BUILD_DIR)/ml.1 '$(DESTDIR)$(mandir)/man1/' - cp $(BUILD_DIR)/modulefile.4 '$(DESTDIR)$(mandir)/man4/' + $(INSTALL_DATA) $(BUILD_DIR)/module.1 '$(DESTDIR)$(mandir)/man1/' + $(INSTALL_DATA) $(BUILD_DIR)/ml.1 '$(DESTDIR)$(mandir)/man1/' + $(INSTALL_DATA) $(BUILD_DIR)/modulefile.4 '$(DESTDIR)$(mandir)/man4/' uninstall: ifeq ($(docinstall),y) diff --git a/init/Makefile b/init/Makefile index 7afc818f..8bbd0554 100644 --- a/init/Makefile +++ b/init/Makefile @@ -4,6 +4,11 @@ # use bash shell to correctly expand the $'' syntax used in translate-in-script SHELL = /usr/bin/env bash +# commands to install files +INSTALL = install +INSTALL_DIR = $(INSTALL) -d -m 755 +INSTALL_DATA = $(INSTALL) -m 644 + SH_LIKE = sh ksh bash zsh profile.sh CSH_LIKE = csh tcsh tcsh_completion profile.csh OTHER = perl.pm python.py ruby.rb lisp tcl fish cmake r.R @@ -194,19 +199,19 @@ $(EXAMPLE_MODFILES_SRCDIR)/version: $(EXAMPLE_MODFILES_SRCDIR)/version.in $(translate-in-script) dist-win: - mkdir '$(DIST_WIN_PREFIX)/init' - cp cmd.cmd '$(DIST_WIN_PREFIX)/init/' - mkdir '$(DIST_WIN_PREFIX)/modulefiles' - cp $(addprefix $(EXAMPLE_MODFILES_SRCDIR)/,$(EXAMPLE_WIN_MODFILES)) '$(DIST_WIN_PREFIX)/modulefiles/' + $(INSTALL_DIR) '$(DIST_WIN_PREFIX)/init' + $(INSTALL_DATA) cmd.cmd '$(DIST_WIN_PREFIX)/init/' + $(INSTALL_DIR) '$(DIST_WIN_PREFIX)/modulefiles' + $(INSTALL_DATA) $(addprefix $(EXAMPLE_MODFILES_SRCDIR)/,$(EXAMPLE_WIN_MODFILES)) '$(DIST_WIN_PREFIX)/modulefiles/' # example configs for test rules install-testconfig: - mkdir -p '$(DESTDIR)$(initdir)' - mkdir -p '$(DESTDIR)$(etcdir)' - mkdir -p '$(DESTDIR)$(prefix)/etc' - mkdir -p '$(DESTDIR)$(modulefilesdir)' - mkdir -p '$(DESTDIR)$(prefix)/test/modulefiles' '$(DESTDIR)$(prefix)/test/etc' - cp $(addprefix $(EXAMPLE_MODFILES_SRCDIR)/,$(EXAMPLE_TESTCONFIG_MODFILES)) '$(DESTDIR)$(modulefilesdir)/' + $(INSTALL_DIR) '$(DESTDIR)$(initdir)' + $(INSTALL_DIR) '$(DESTDIR)$(etcdir)' + $(INSTALL_DIR) '$(DESTDIR)$(prefix)/etc' + $(INSTALL_DIR) '$(DESTDIR)$(modulefilesdir)' + $(INSTALL_DIR) '$(DESTDIR)$(prefix)/test/modulefiles' '$(DESTDIR)$(prefix)/test/etc' + $(INSTALL_DATA) $(addprefix $(EXAMPLE_MODFILES_SRCDIR)/,$(EXAMPLE_TESTCONFIG_MODFILES)) '$(DESTDIR)$(modulefilesdir)/' uninstall-testconfig: rmdir '$(DESTDIR)$(prefix)/test/modulefiles' '$(DESTDIR)$(prefix)/test/etc' '$(DESTDIR)$(prefix)/test' @@ -216,48 +221,47 @@ uninstall-testconfig: $(RMDIR_IGN_NON_EMPTY) '$(DESTDIR)$(initdir)' || true install: all - mkdir -p '$(DESTDIR)$(initdir)' - mkdir -p '$(DESTDIR)$(initdir)/ksh-functions' + $(INSTALL_DIR) '$(DESTDIR)$(initdir)' + $(INSTALL_DIR) '$(DESTDIR)$(initdir)/ksh-functions' ifeq ($(initconfin),etcdir) - mkdir -p '$(DESTDIR)$(etcdir)' + $(INSTALL_DIR) '$(DESTDIR)$(etcdir)' endif ifeq ($(makebashcompdir),y) - mkdir -p '$(DESTDIR)$(bashcompletiondir)' + $(INSTALL_DIR) '$(DESTDIR)$(bashcompletiondir)' endif ifeq ($(makefishcompdir),y) - mkdir -p '$(DESTDIR)$(fishcompletiondir)' + $(INSTALL_DIR) '$(DESTDIR)$(fishcompletiondir)' endif - mkdir -p '$(DESTDIR)$(zshcompletiondir)' - mkdir -p '$(DESTDIR)$(modulefilesdir)' - cp $(ALL_SHELLS) '$(DESTDIR)$(initdir)/' + $(INSTALL_DIR) '$(DESTDIR)$(zshcompletiondir)' + $(INSTALL_DIR) '$(DESTDIR)$(modulefilesdir)' + $(INSTALL_DATA) $(ALL_SHELLS) '$(DESTDIR)$(initdir)/' ifeq ($(windowssupport),y) - cp cmd.cmd '$(DESTDIR)$(initdir)/' + $(INSTALL_DATA) cmd.cmd '$(DESTDIR)$(initdir)/' endif ifeq ($(makefishcompdir),y) - cp fish_completion '$(DESTDIR)$(fishcompletiondir)/module.fish' + $(INSTALL_DATA) fish_completion '$(DESTDIR)$(fishcompletiondir)/module.fish' else - cp fish_completion '$(DESTDIR)$(fishcompletiondir)/' + $(INSTALL_DATA) fish_completion '$(DESTDIR)$(fishcompletiondir)/' endif ifeq ($(makebashcompdir),y) - cp bash_completion '$(DESTDIR)$(bashcompletiondir)/module' + $(INSTALL_DATA) bash_completion '$(DESTDIR)$(bashcompletiondir)/module' ln -s module '$(DESTDIR)$(bashcompletiondir)/ml' else - cp bash_completion '$(DESTDIR)$(bashcompletiondir)/' + $(INSTALL_DATA) bash_completion '$(DESTDIR)$(bashcompletiondir)/' endif - cp zsh-functions/_module '$(DESTDIR)$(zshcompletiondir)/' - cp ksh '$(DESTDIR)$(initdir)/ksh-functions/module' - cp ksh '$(DESTDIR)$(initdir)/ksh-functions/ml' - rm -f '$(DESTDIR)$(modulespath)' '$(DESTDIR)$(initrc)' - cp -R -P initrc '$(DESTDIR)$(initrc)' + $(INSTALL_DATA) zsh-functions/_module '$(DESTDIR)$(zshcompletiondir)/' + $(INSTALL_DATA) ksh '$(DESTDIR)$(initdir)/ksh-functions/module' + $(INSTALL_DATA) ksh '$(DESTDIR)$(initdir)/ksh-functions/ml' + $(INSTALL_DATA) initrc '$(DESTDIR)$(initrc)' ifeq ($(setmodulespath),y) - cp -R -P modulespath $(DESTDIR)$(modulespath) + $(INSTALL_DATA) modulespath $(DESTDIR)$(modulespath) endif ifeq ($(examplemodulefiles),y) - cp $(addprefix $(EXAMPLE_MODFILES_SRCDIR)/,$(EXAMPLE_MODFILES)) '$(DESTDIR)$(modulefilesdir)/' + $(INSTALL_DATA) $(addprefix $(EXAMPLE_MODFILES_SRCDIR)/,$(EXAMPLE_MODFILES)) '$(DESTDIR)$(modulefilesdir)/' endif ifeq ($(versioning),y) - mkdir -p '$(DESTDIR)$(versdir)' - cp $(EXAMPLE_MODFILES_SRCDIR)/version '$(DESTDIR)$(versdir)/$(VERSION)' + $(INSTALL_DIR) '$(DESTDIR)$(versdir)' + $(INSTALL_DATA) $(EXAMPLE_MODFILES_SRCDIR)/version '$(DESTDIR)$(versdir)/$(VERSION)' endif uninstall: