[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH v2 1/3] build: `distclean`, `properclean` independent of `.config`
Until now, the targets `distclean` and `properclean` were not available if `.config` file is not present. This does not make sense, because these targets have nothing to do with the configuration. They just clean everything (except .config in case of properclean). Since these targets use some functions declared in `support/build/Makefile.rules`, we include this file at an earlier point. Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx> --- Makefile | 45 ++++++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/Makefile b/Makefile index efc94a16..08ee2152 100644 --- a/Makefile +++ b/Makefile @@ -142,7 +142,7 @@ export DATE := $(shell date +%Y%m%d) null_targets := print-version help noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \ defconfig %_defconfig allyesconfig allnoconfig silentoldconfig release \ - olddefconfig $(null_targets) + olddefconfig properclean distclean $(null_targets) # To put more focus on warnings, be less verbose as default # Use 'make V=1' to see the full commands @@ -168,10 +168,20 @@ SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ else if [ -x /bin/bash ]; then echo /bin/bash; \ else echo sh; fi; fi) +# basic tools +RM := rm -f +MV := mv -f +CP := cp -f +MKDIR := mkdir +TOUCH := touch + # kconfig uses CONFIG_SHELL CONFIG_SHELL := $(SHELL) export SHELL CONFIG_SHELL Q KBUILD_VERBOSE +# Include common Makefile helpers early +include $(CONFIG_UK_BASE)/support/build/Makefile.rules + ################################################################################ # .config ################################################################################ @@ -296,6 +306,20 @@ export HOSTARCH := $(shell LC_ALL=C $(HOSTCC_NOCCACHE) -v 2>&1 | \ export HOSTAR HOSTAS HOSTCC HOSTCC_VERSION HOSTCXX HOSTLD HOSTARCH export HOSTCC_NOCCACHE HOSTCXX_NOCCACHE +################################################################################ +# Clean targets that do not have any dependency on a configuration +################################################################################ +# Declare them before we depend on having .config +properclean: + $(call verbose_cmd,RM,build/,$(RM) -r \ + $(BUILD_DIR)) + +distclean: properclean + $(call verbose_cmd,RM,config,$(RM) \ + $(UK_CONFIG) $(UK_CONFIG).old $(CONFIG_DIR)/..config.tmp \ + $(CONFIG_DIR)/.auto.deps) + +.PHONY: distclean properclean ################################################################################ # Unikraft Architecture @@ -410,10 +434,6 @@ STRIP := $(CONFIG_CROSS_COMPILE)strip OBJCOPY := $(CONFIG_CROSS_COMPILE)objcopy OBJDUMP := $(CONFIG_CROSS_COMPILE)objdump AR := ar -MV := mv -f -RM := rm -f -CP := cp -f -MKDIR := mkdir CAT := cat SED := sed AWK := awk @@ -422,7 +442,6 @@ GZIP := gzip TAR := tar UNZIP := unzip -qq -u WGET := wget -TOUCH := touch # Time requires the full path so that subarguments are handled correctly TIME := $(shell which time) LIFTOFF := liftoff -e -s @@ -438,9 +457,6 @@ ASFLAGS += -DCC_VERSION=$(CC_VERSION) CFLAGS += -DCC_VERSION=$(CC_VERSION) CXXFLAGS += -DCC_VERSION=$(CC_VERSION) -# Common Makefile definitions we need for building Unikraft -include $(CONFIG_UK_BASE)/support/build/Makefile.rules - # ensure $(BUILD_DIR)/include and $(BUILD_DIR)/include/uk exists $(call mk_sub_build_dir,include) $(call mk_sub_build_dir,include/uk) @@ -536,19 +552,10 @@ libs: menuconfig images: menuconfig clean: + $(error Do not know which files to clean without having a configuration. Did you mean 'properclean' or 'distclean'?) endif -.PHONY: distclean properclean -properclean: - $(call verbose_cmd,RM,build/,$(RM) -r \ - $(BUILD_DIR)) - -distclean: properclean - $(call verbose_cmd,RM,config,$(RM) \ - $(UK_CONFIG) $(UK_CONFIG).old $(CONFIG_DIR)/..config.tmp \ - $(CONFIG_DIR)/.auto.deps) - .PHONY: print-vars print-libs help outputmakefile list-defconfigs # Configuration -- 2.17.2 (Apple Git-113) _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |