The make variable $(subdir-y) isn't used yet but will be in a
following patch. Anything in $(subdir-y) doesn't to have a '/' as
suffix as we already now it's a directory.
Rework the rules so that it doesn't matter whether there is a '/' or
not. It also mimic more closely to the way Linux's Kbuild descend in
subdirectories.
FORCE phony target isn't needed anymore running clean, so it can be
removed.
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
# Figure out what we need to clean from the various variables
# ==========================================================================
subdir-all := $(subdir-y) $(subdir-n) $(subdir-) \
- $(filter %/, $(obj-y) $(obj-n) $(obj-))
+ $(patsubst %/,%, $(filter %/, $(obj-y) $(obj-n) $(obj-)))
DEPS_RM = $(DEPS) $(DEPS_INCLUDE)
.PHONY: clean
-clean:: $(addprefix _clean_, $(subdir-all))
+clean:: $(subdir-all)
rm -f *.o .*.o.tmp *~ core $(DEPS_RM)
# Descending
# ---------------------------------------------------------------------------
-_clean_%/: FORCE
- $(MAKE) $(clean) $*
+PHONY += $(subdir-all)
+$(subdir-all):
+ $(MAKE) $(clean) $@
-# Force execution of pattern rules (for which PHONY cannot be directly used).
-.PHONY: FORCE
-FORCE:
+.PHONY: $(PHONY)