dirs.mk: Improve directory ordering

- Add ORDERED_SUBDIRS variable
- Reverse clean target order

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2017-08-16 11:40:20 +00:00
commit f1ff08368c

View file

@ -5,6 +5,8 @@
ALLOWED_SUBDIR_TARGETS ?= all install clean distclean test link-in
reverse = $(if $(wordlist 2,2,$(1)),$(call reverse,$(wordlist 2,$(words $(1)),$(1))) $(firstword $(1)),$(1))
.NOTPARALLEL:
.PHONY: $(SUBDIRS_TO_ITERATE) $(ALLOWED_SUBDIR_TARGETS)
@ -14,7 +16,9 @@ endif
include $(MODDIR)/make/defs.mk
SUBDIRS ?= $(FIND_SUBDIRS)
SUBDIRS ?= $(ORDERED_SUBDIRS) $(filter-out $(ORDERED_SUBDIRS),$(FIND_SUBDIRS))
#SUBDIRS ?= $(filter-out $(ORDERED_SUBDIRS),$(FIND_SUBDIRS))
#SUBDIRS ?= $(FIND_SUBDIRS)
ifeq ($(SUBDIRS_TO_ITERATE),)
@ -89,12 +93,11 @@ dirs-install.done: dirs-all.done
endif
dirs.clean:
set -e; for d in $(SUBDIRS) ; do make -wC $$d clean; done
set -e; for d in $(call reverse,$(SUBDIRS)) ; do make -wC $$d clean; done
rm -rf $(TEXTCLEAN) $(CLEAN) *.done *~ .*.swp *.tmp core *.rep dirs-*.done
dirs.distclean:
set -e; for d in $(SUBDIRS) ; do make -wC $$d distclean; done
set -e; for d in $(call reverse,$(SUBDIRS)) ; do make -wC $$d distclean; done
rm -rf $(DISTCLEAN)
endif # SUBDIRS_TO_ITERATE