Files
harbour-core/harbour/config/linux/install.cf
Viktor Szakats b3ed7c67f0 2009-07-15 12:23 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/darwin/install.cf
  * config/hpux/install.cf
  * config/dos/install.cf
  * config/install.cf
  * config/win/install.cf
  * config/linux/install.cf
  * config/os2/install.cf
  * config/sunos/install.cf
  * config/bsd/install.cf
  * config/wce/install.cf
    * Little tweak to install rules to allow multiline rules
      on non-bash shells.
      Maybe there is another way, but couldn't find it.
    ; This is a step towards moving install dir creation to
      GNU Make level.
2009-07-15 10:27:40 +00:00

63 lines
1.2 KiB
CFEngine3

#
# $Id$
#
ifeq ($(INSTALL_FILES),) # Empty install list
install:: first
@echo Done
else
ifeq ($(SHLVL),) # non-bash
ifeq ($(OS2_SHELL),) # non-OS/2
INSTALL_DIR_OS = $(subst /,\,$(INSTALL_DIR))
INSTALL_FILES_OS = $(subst /,\,$(INSTALL_FILES))
install:: first
-$(COMSPEC) /c for %%f in ($(INSTALL_FILES_OS)) do copy "%%f" "$(INSTALL_DIR_OS)"
else # OS/2
# We have to use script to overcome the max command size limit
# NOTE: The empty line directly before 'endef' HAVE TO exist!
# It causes that every commands will be separated by LF
define inst_file
$(COMSPEC) /C $(CP) $(file) $(subst /,\,$(INSTALL_DIR))
endef
INSTALL_FILES_OS = $(subst /,\,$(INSTALL_FILES))
install:: first
$(foreach file, $(INSTALL_FILES_OS), $(inst_file))
endif
else # bash
install:: first
@if [ -z $(INSTALL_DIR) ] || [ ! -d $(INSTALL_DIR) ]; \
then \
echo "! Can't install, path not found: '$(INSTALL_DIR)'" 1>&2; \
false; \
else \
for i in $(INSTALL_FILES); \
do \
if [ -r $$i ]; \
then \
echo "! Installing $$i on $(INSTALL_DIR)"; \
$(CP) $$i $(INSTALL_DIR); \
true; \
else \
echo "! Can't install $$i, not found" 1>&2; \
fi \
done \
fi
endif
endif # Empty install list