]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[build] Clean up all binary directories on "make [very]clean"
authorMichael Brown <mcb30@ipxe.org>
Thu, 4 Sep 2014 15:46:59 +0000 (16:46 +0100)
committerMichael Brown <mcb30@ipxe.org>
Thu, 4 Sep 2014 15:46:59 +0000 (16:46 +0100)
Allow a straightforward "make clean" or "make veryclean" to apply to
all binary directories (using the shell pattern "bin{,-*}").
Individual binary directories can be cleaned using e.g.

  make bin clean
  make bin-x86_64-efi clean

Reported-by: Robin Smidsrød <robin@smidsrod.no>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/Makefile.housekeeping

index b2c695947cea88b2183a15c16ba9e22b548f25f2..c89b23b7de13644989ccd1741ba87c99f788ef5b 100644 (file)
@@ -229,7 +229,7 @@ endif
 # Determine how many different BIN directories are mentioned in the
 # make goals.
 #
-BIN_GOALS      := $(filter bin/% bin-%,$(MAKECMDGOALS))
+BIN_GOALS      := $(filter bin bin/% bin-%,$(MAKECMDGOALS))
 BIN_GOALS_BINS := $(sort $(foreach BG,$(BIN_GOALS),\
                                    $(firstword $(subst /, ,$(BG)))))
 NUM_BINS       := $(words $(BIN_GOALS_BINS))
@@ -1439,6 +1439,13 @@ hci/keymap/keymap_%.c :
 #
 # Clean-up
 #
+
+ifeq ($(NUM_BINS),0)
+ALLBINS                := bin{,-*}
+CLEANUP                := $(patsubst $(BIN)/%,$(ALLBINS)/%,$(CLEANUP))
+VERYCLEANUP    := $(patsubst $(BIN)/%,$(ALLBINS)/%,$(VERYCLEANUP))
+endif
+
 clean :
        $(RM) $(CLEANUP)