Files
harbour-core/harbour/config/dirsh.mk
Przemyslaw Czerpak 2dd3553040 2009-08-18 18:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/dir.mk
    % small simplification in used logic

  * harbour/config/dirsh.mk
    ! use := instead of = for DIR_RULE assignment - these rules contain
      dependencies macros which cannot be resolved during assignment
2009-08-18 16:02:51 +00:00

46 lines
945 B
Makefile

#
# $Id$
#
ifneq ($(HB_SHELL),sh)
MK_OS := $(subst /,\,$(MK))
DIRS_OS := $(subst /,\,$(DIRS))
endif
ifeq ($(DIRS),) # Empty directory list
DIR_RULE := @echo $(ECHOQUOTE)! Done$(ECHOQUOTE)
else
ifeq ($(HB_SHELL),sh)
DIR_RULE = \
@for d in $(DIRS); do \
if [ -d "$$d" ]; then \
$(MK) $(MKFLAGS) -C $$d $@; \
fi \
done
endif
ifeq ($(HB_SHELL),nt)
DIR_RULE = for %%d in ($(DIRS_OS)) do $(MK_OS) $(MKFLAGS) -C %%d $@
endif
ifeq ($(HB_SHELL),os2)
DIR_RULE = for %d in ($(DIRS_OS)) do $(MK_OS) $(MKFLAGS) -C %d $@
endif
ifeq ($(HB_SHELL),dos)
# We have to use script to overcome the DOS limit of max 128 characters
# NOTE: The empty line directly before 'endef' HAVE TO exist!
# It causes that every command will be separated by LF
define dir_mk
@$(MK_OS) $(MKFLAGS) -C $(file) $@
endef
DIR_RULE = $(foreach file,$(DIRS_OS),$(dir_mk))
endif
endif # ! Empty directory list