X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=include%2Ftoplevel.mk;h=c233a4c214c9ba01734ef129b93943784cb528d9;hb=3ea1b5b745f9c32ff64c8e1008252ab782455380;hp=3f5a75003085166c603385474a701398411359c1;hpb=23dd6db2ea6d783c16bf10b43c23478b7f26723d;p=openwrt%2Fopenwrt.git diff --git a/include/toplevel.mk b/include/toplevel.mk index 3f5a750030..c233a4c214 100644 --- a/include/toplevel.mk +++ b/include/toplevel.mk @@ -82,15 +82,16 @@ _ignore = $(foreach p,$(IGNORE_PACKAGES),--ignore $(p)) prepare-tmpinfo: FORCE @+$(MAKE) -r -s staging_dir/host/.prereq-build $(PREP_MK) mkdir -p tmp/info - $(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f include/scan.mk SCAN_TARGET="packageinfo" SCAN_DIR="package" SCAN_NAME="package" SCAN_DEPS="$(TOPDIR)/include/package*.mk" SCAN_DEPTH=5 SCAN_EXTRA="" - $(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f include/scan.mk SCAN_TARGET="targetinfo" SCAN_DIR="target/linux" SCAN_NAME="target" SCAN_DEPS="image/Makefile profiles/*.mk $(TOPDIR)/include/kernel*.mk $(TOPDIR)/include/target.mk" SCAN_DEPTH=2 SCAN_EXTRA="" SCAN_MAKEOPTS="TARGET_BUILD=1" + $(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f include/scan.mk SCAN_TARGET="packageinfo" SCAN_DIR="package" SCAN_NAME="package" SCAN_DEPTH=5 SCAN_EXTRA="" + $(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f include/scan.mk SCAN_TARGET="targetinfo" SCAN_DIR="target/linux" SCAN_NAME="target" SCAN_DEPTH=2 SCAN_EXTRA="" SCAN_MAKEOPTS="TARGET_BUILD=1" for type in package target; do \ f=tmp/.$${type}info; t=tmp/.config-$${type}.in; \ [ "$$t" -nt "$$f" ] || ./scripts/$${type}-metadata.pl $(_ignore) config "$$f" > "$$t" || { rm -f "$$t"; echo "Failed to build $$t"; false; break; }; \ done - [ tmp/.config-feeds.in -nt tmp/.packagesubdirs ] || ./scripts/feeds feed_config > tmp/.config-feeds.in + [ tmp/.config-feeds.in -nt tmp/.packageauxvars ] || ./scripts/feeds feed_config > tmp/.config-feeds.in ./scripts/package-metadata.pl mk tmp/.packageinfo > tmp/.packagedeps || { rm -f tmp/.packagedeps; false; } - ./scripts/package-metadata.pl subdirs tmp/.packageinfo > tmp/.packagesubdirs || { rm -f tmp/.packagesubdirs; false; } + ./scripts/package-metadata.pl pkgaux tmp/.packageinfo > tmp/.packageauxvars || { rm -f tmp/.packageauxvars; false; } + ./scripts/package-metadata.pl usergroup tmp/.packageinfo > tmp/.packageusergroup || { rm -f tmp/.packageusergroup; false; } touch $(TOPDIR)/tmp/.build .config: ./scripts/config/conf $(if $(CONFIG_HAVE_DOT_CONFIG),,prepare-tmpinfo) @@ -99,20 +100,22 @@ prepare-tmpinfo: FORCE $(_SINGLE)$(NO_TRACE_MAKE) menuconfig $(PREP_MK); \ fi -scripts/config/mconf: - @$(_SINGLE)$(SUBMAKE) -s -C scripts/config all CC="$(HOSTCC_WRAPPER)" +ifeq ($(RECURSIVE_DEP_IS_ERROR),1) + KCONF_FLAGS=--fatalrecursive +endif +ifneq ($(DISTRO_PKG_CONFIG),) +scripts/config/%onf: export PATH:=$(dir $(DISTRO_PKG_CONFIG)):$(PATH) +endif +scripts/config/%onf: CFLAGS+= -O2 +scripts/config/%onf: + @$(_SINGLE)$(SUBMAKE) $(if $(findstring s,$(OPENWRT_VERBOSE)),,-s) \ + -C scripts/config $(notdir $@) CC="$(HOSTCC_WRAPPER)" $(eval $(call rdep,scripts/config,scripts/config/mconf)) -scripts/config/qconf: - @$(_SINGLE)$(SUBMAKE) -s -C scripts/config qconf CC="$(HOSTCC_WRAPPER)" - -scripts/config/conf: - @$(_SINGLE)$(SUBMAKE) -s -C scripts/config conf CC="$(HOSTCC_WRAPPER)" - config: scripts/config/conf prepare-tmpinfo FORCE [ -L .config ] && export KCONFIG_OVERWRITECONFIG=1; \ - $< Config.in + $< $(KCONF_FLAGS) Config.in config-clean: FORCE $(_SINGLE)$(NO_TRACE_MAKE) -C scripts/config clean @@ -121,7 +124,7 @@ defconfig: scripts/config/conf prepare-tmpinfo FORCE touch .config @if [ ! -s .config -a -e $(HOME)/.openwrt/defconfig ]; then cp $(HOME)/.openwrt/defconfig .config; fi [ -L .config ] && export KCONFIG_OVERWRITECONFIG=1; \ - $< --defconfig=.config Config.in + $< $(KCONF_FLAGS) --defconfig=.config Config.in confdefault-y=allyes confdefault-m=allmod @@ -130,7 +133,7 @@ confdefault:=$(confdefault-$(CONFDEFAULT)) oldconfig: scripts/config/conf prepare-tmpinfo FORCE [ -L .config ] && export KCONFIG_OVERWRITECONFIG=1; \ - $< --$(if $(confdefault),$(confdefault),old)config Config.in + $< $(KCONF_FLAGS) --$(if $(confdefault),$(confdefault),old)config Config.in menuconfig: scripts/config/mconf prepare-tmpinfo FORCE if [ \! -e .config -a -e $(HOME)/.openwrt/defconfig ]; then \ @@ -139,13 +142,20 @@ menuconfig: scripts/config/mconf prepare-tmpinfo FORCE [ -L .config ] && export KCONFIG_OVERWRITECONFIG=1; \ $< Config.in +nconfig: scripts/config/nconf prepare-tmpinfo FORCE + if [ \! -e .config -a -e $(HOME)/.openwrt/defconfig ]; then \ + cp $(HOME)/.openwrt/defconfig .config; \ + fi + [ -L .config ] && export KCONFIG_OVERWRITECONFIG=1; \ + $< Config.in + xconfig: scripts/config/qconf prepare-tmpinfo FORCE if [ \! -e .config -a -e $(HOME)/.openwrt/defconfig ]; then \ cp $(HOME)/.openwrt/defconfig .config; \ fi $< Config.in -prepare_kernel_conf: .config FORCE +prepare_kernel_conf: .config toolchain/install FORCE ifeq ($(wildcard staging_dir/host/bin/quilt),) prepare_kernel_conf: @@ -157,12 +167,20 @@ endif kernel_oldconfig: prepare_kernel_conf $(_SINGLE)$(NO_TRACE_MAKE) -C target/linux oldconfig +ifneq ($(DISTRO_PKG_CONFIG),) +kernel_menuconfig: export PATH:=$(dir $(DISTRO_PKG_CONFIG)):$(PATH) +kernel_nconfig: export PATH:=$(dir $(DISTRO_PKG_CONFIG)):$(PATH) +kernel_xconfig: export PATH:=$(dir $(DISTRO_PKG_CONFIG)):$(PATH) +endif kernel_menuconfig: prepare_kernel_conf $(_SINGLE)$(NO_TRACE_MAKE) -C target/linux menuconfig kernel_nconfig: prepare_kernel_conf $(_SINGLE)$(NO_TRACE_MAKE) -C target/linux nconfig +kernel_xconfig: prepare_kernel_conf + $(_SINGLE)$(NO_TRACE_MAKE) -C target/linux xconfig + staging_dir/host/.prereq-build: include/prereq-build.mk mkdir -p tmp @$(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f $(TOPDIR)/include/prereq-build.mk prereq 2>/dev/null || { \ @@ -207,7 +225,7 @@ ifeq ($(SDK),1) %:: @+$(PREP_MK) $(NO_TRACE_MAKE) -r -s prereq - @./scripts/config/conf --defconfig=.config Config.in + @./scripts/config/conf $(KCONF_FLAGS) --defconfig=.config Config.in @+$(ULIMIT_FIX) $(SUBMAKE) -r $@ else @@ -216,7 +234,7 @@ else @+$(PREP_MK) $(NO_TRACE_MAKE) -r -s prereq @( \ cp .config tmp/.config; \ - ./scripts/config/conf --defconfig=tmp/.config -w tmp/.config Config.in > /dev/null 2>&1; \ + ./scripts/config/conf $(KCONF_FLAGS) --defconfig=tmp/.config -w tmp/.config Config.in > /dev/null 2>&1; \ if ./scripts/kconfig.pl '>' .config tmp/.config | grep -q CONFIG; then \ printf "$(_R)WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!$(_N)\n" >&2; \ fi \ @@ -243,9 +261,9 @@ package/symlinks-clean: ./scripts/feeds uninstall -a help: - cat README + cat README.md -distclean: +distclean: cacheclean rm -rf bin build_dir .config* dl feeds key-build* logs package/feeds package/openwrt-packages staging_dir tmp @$(_SINGLE)$(SUBMAKE) -C scripts/config clean