diff --git a/make/config.mk b/make/config.mk index 4721ddae..1bed0d61 100644 --- a/make/config.mk +++ b/make/config.mk @@ -7,7 +7,7 @@ ifndef ONL $(error $$ONL is not defined) endif -ifndef ONLPM_PY +ifndef ONLPM ONLPM := $(ONL)/tools/onlpm.py endif @@ -25,16 +25,41 @@ endif export BUILD_DIR_BASE=BUILD/$(ONL_DEBIAN_SUITE) - # Generate manifest if necessary export MODULEMANIFEST := $(shell $(BUILDER)/tools/mmg.py --dirs $(ONL) $(ONLPM_OPTION_PACKAGEDIRS) --out $(ONL)/make/module-manifest.mk --only-if-missing make) # # Default make options. # -ONL_MAKE_FLAGS += --no-print-directory -s -ONL_MAKE := $(MAKE) $(ONL_MAKE_FLAGS) +ifeq ("$(origin V)", "command line") +VERBOSE := $(V) +endif + +ifneq ($(VERBOSE),1) + +# quiet settings +ONL_V_P := false ONL_V_at := @ +ONL_V_GEN = @set -e; echo GEN $@; + +else + +# verbose settings +ONL_V_P := : + +endif + +ifneq ($(VERBOSE),1) + +ONL_MAKE_FLAGS += --no-print-directory -s + +else + +ONL_MAKE_FLAGS += V=1 + +endif + +ONL_MAKE := $(MAKE) $(ONL_MAKE_FLAGS) # # Some build and autogen tools require these settings. diff --git a/make/pkg.mk b/make/pkg.mk index f2159940..f171c1ec 100644 --- a/make/pkg.mk +++ b/make/pkg.mk @@ -17,41 +17,50 @@ ifndef ARCHES ARCHES := amd64 powerpc all endif +ONLPM_ENVIRONMENT = \ + MAKE=$(MAKE) \ + # THIS LINE INTENTIONALLY LEFT BLANK + +ifneq ($(VERBOSE),1) +else +ONLPM_ENVIRONMENT += ONLPM_VERBOSE=1 +endif + pkgall: - $(ONL_V_at) MAKE=$(MAKE) onlpm.py --build all --arches $(ARCHES) + $(ONL_V_GEN) $(ONLPM_ENVIRONMENT) $(ONLPM) $(ONLPM_OPTS) --build all --arches $(ARCHES) clean: - $(ONL_V_at) MAKE=$(MAKE) onlpm.py --clean all --arches $(ARCHES) + $(ONL_V_GEN) $(ONLPM_ENVIRONMENT) $(ONLPM) $(ONLPM_OPTS) --clean all --arches $(ARCHES) rebuild: - $(ONL_V_at) MAKE=$(MAKE) onlpm.py --rebuild-pkg-cache + $(ONL_V_GEN) $(ONLPM_ENVIRONMENT) $(ONLPM) $(ONLPM_OPTS) --rebuild-pkg-cache # # Check all package declarations. # check: - $(ONL_V_at) MAKE=$(MAKE) onlpm.py --packagedirs=`pwd` --no-pkg-cache + $(ONL_V_GEN) $(ONLPM_ENVIRONMENT) $(ONLPM) $(ONLPM_OPTS) --packagedirs=`pwd` --no-pkg-cache subdir: - $(ONL_V_at) MAKE=$(MAKE) onlpm.py --packagedirs=`pwd` --build all --no-pkg-cache + $(ONL_V_GEN) $(ONLPM_ENVIRONMENT) $(ONLPM) $(ONLPM_OPTS) --packagedirs=`pwd` --build all --no-pkg-cache # # Package construction only (no build step) # pkg: - $(ONL_V_at) MAKE=$(MAKE) NOBUILD=1 onlpm.py --build all --arches $(ARCHES) + $(ONL_V_GEN) $(ONLPM_ENVIRONMENT) NOBUILD=1 $(ONLPM) $(ONLPM_OPTS) --build all --arches $(ARCHES) # # Generate a rule for all available packages # -ALL_PACKAGES := $(shell onlpm.py --list-all) +ALL_PACKAGES := $(shell $(ONLPM_ENVIRONMENT) $(ONLPM) $(ONLPM_OPTS) --list-all) define package_build_template package-$(1): - $(ONL_V_at) onlpm.py --build $(2) + $(ONL_V_GEN) $(ONLPM_ENVIRONMENT) $(ONLPM) $(ONLPM_OPTS) --build $(2) endef $(foreach p,$(ALL_PACKAGES),$(eval $(call package_build_template,$(subst :,_,$(p)),$(p))))