install: use install rather mkdir or cp

Use install command rather mkdir or cp to apply regular file mode when
installing Modules. A specific umask configuration set in the current
environment will not impact modes set on installed files.

Follow same approach than Makefiles generated by autotools, with an
INSTALL Makefile variable.
This commit is contained in:
Xavier Delaruelle
2022-07-17 09:14:06 +02:00
parent 3ba8a4f0d4
commit 7ae26a1254
5 changed files with 123 additions and 112 deletions

View File

@@ -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

133
Makefile
View File

@@ -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)

View File

@@ -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/

View File

@@ -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)

View File

@@ -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: