jw-pkg/make/dirs.mk

69 lines
1.1 KiB
Makefile

# generic utility modules
# (c) 2001 jannet it services
# contact@jannet.de
# $Id$
.NOTPARALLEL:
include $(MODDIR)/make/defs.mk
SUBDIRS ?= $(FIND_SUBDIRS)
ifeq ($(SUBDIRS_TO_ITERATE),)
all install clean distclean:
else
ifeq ($(MAKECMDGOALS),)
SUBDIR_TARGETS = all
else
SUBDIR_TARGETS = $(filter all install clean distclean,$(MAKECMDGOALS))
endif
all: dirs.done
subdirs: dirs.done
clean: dirs.clean
distclean: dirs.clean dirs.distclean
.DEFAULT:
install:
.PHONY: $(SUBDIRS_TO_ITERATE)
#ifeq ($(MAKECMDGOALS),)
#all:
# $(make_subdirs)
# touch dirs.done
#
#$(MAKECMDGOALS):
# $(make_subdirs_target)
# touch dirs.done
define make_dirs
set -e; for t in $(SUBDIR_TARGETS); do \
for d in $(SUBDIRS) ; do \
make -wC $$d $$t ;\
done ;\
done
endef
PREREQ_DIRS_DONE = $(foreach p,$(PREREQ),$($(p)_DIR)/dirs.done)
dirs.done: $(wildcard $(BUILD_HDRDIR)) $(PREREQ_DIRS_DONE)
$(make_dirs)
touch $@
dirs.clean:
$(make_dirs)
rm -rf $(TEXTCLEAN) $(CLEAN) dist *.done *~ .*.swp *.tmp core *.rep
dirs.distclean:
$(make_dirs)
rm -rf $(DISTCLEAN)
.DEFAULT:
$(make_dirs)
endif # SUBDIRS_TO_ITERATE