Files
pcas/config/RULES_DIRS
2000-09-08 14:26:36 +00:00

49 lines
1.4 KiB
Plaintext

#
# $Id$
#
ARCHS += $(BUILD_ARCHS) host cross
ACTIONS += clean inc depends build install buildInstall
dirPart = $(word 1, $(subst $(DIVIDER), ,$@))
actionArchPart = $(join $(word 2, $(subst $(DIVIDER), ,$@)), \
$(addprefix $(DIVIDER),$(word 3, $(subst $(DIVIDER), ,$@))))
dirActionArchTargets = $(foreach dir, $(DIRS), \
$(foreach action, $(ACTIONS),\
$(foreach arch, $(ARCHS), \
$(dir)$(DIVIDER)$(action)$(DIVIDER)$(arch))))
dirArchTargets += $(foreach dir, $(DIRS), \
$(foreach arch, $(ARCHS),\
$(dir)$(DIVIDER)$(arch)))
dirActionTargets += $(foreach dir, $(DIRS), \
$(foreach action, $(ACTIONS),\
$(dir)$(DIVIDER)$(action)))
actionArchTargets = $(foreach action, $(ACTIONS),\
$(foreach arch, $(ARCHS), \
$(action)$(DIVIDER)$(arch)))
ifeq ($(MAKE_INC_TARGET_FIRST),YES)
all install :: inc buildInstall
$(ARCHS) $(installArchTargets) :: inc
else
all install :: buildInstall
endif
rebuild:: clean all
$(DIRS) $(dirActionTargets) $(dirArchTargets)$(dirActionArchTargets) ::
$(MAKE) -C $(dirPart) $(actionArchPart)
$(ARCHS) $(ACTIONS) $(actionArchTargets) ::%: \
$(foreach dir, $(DIRS), $(dir)$(DIVIDER)%)
.PHONY :: $(DIRS) all rebuild
.PHONY :: $(ARCHS) $(ACTIONS)
.PHONY :: $(dirActionTargets) $(dirArchTargets)
.PHONY :: $(dirActionArchTargets)
.PHONY :: $(actionArchTargets)