From f1ff08368cc376a9738a5857515f5bcb9f9ff02c Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Wed, 16 Aug 2017 11:40:20 +0000 Subject: [PATCH] dirs.mk: Improve directory ordering - Add ORDERED_SUBDIRS variable - Reverse clean target order Signed-off-by: Jan Lindemann --- make/dirs.mk | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/make/dirs.mk b/make/dirs.mk index c89dfb13..7038ebc5 100644 --- a/make/dirs.mk +++ b/make/dirs.mk @@ -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 -