X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=include%2Ftoplevel.mk;h=97093021ba7472dd46fcfc67f5a3934f0d3efd4b;hb=2ef2a6aaf64118733b37d54052edad1b442cd24a;hp=33baa86da92db66c0a502d2bc49a2fa02a656057;hpb=7002f6326e9dcd4cb3272763ba9b9debd9f3a60d;p=openwrt%2Fstaging%2Fmkresin.git diff --git a/include/toplevel.mk b/include/toplevel.mk index 33baa86da9..97093021ba 100644 --- a/include/toplevel.mk +++ b/include/toplevel.mk @@ -6,7 +6,7 @@ # See /LICENSE for more information. # -RELEASE:=Chaos Calmer +RELEASE:=Designated Driver PREP_MK= OPENWRT_BUILD= QUIET=0 export IS_TTY=$(shell tty -s && echo 1 || echo 0) @@ -20,14 +20,11 @@ else endif HOSTCC ?= $(CC) -OPENWRTVERSION:=$(RELEASE)$(if $(REVISION), ($(REVISION))) export RELEASE export REVISION -export OPENWRTVERSION -export LD_LIBRARY_PATH:=$(subst ::,:,$(if $(LD_LIBRARY_PATH),$(LD_LIBRARY_PATH):)$(STAGING_DIR_HOST)/lib) -export DYLD_LIBRARY_PATH:=$(subst ::,:,$(if $(DYLD_LIBRARY_PATH),$(DYLD_LIBRARY_PATH):)$(STAGING_DIR_HOST)/lib) export GIT_CONFIG_PARAMETERS='core.autocrlf=false' export MAKE_JOBSERVER=$(filter --jobserver%,$(MAKEFLAGS)) +export SOURCE_DATE_EPOCH:=$(shell $(TOPDIR)/scripts/get_source_date_epoch.sh) # prevent perforce from messing with the patch utility unexport P4PORT P4USER P4CONFIG P4CLIENT @@ -42,6 +39,14 @@ unexport LPATH # make sure that a predefined CFLAGS variable does not disturb packages export CFLAGS= +export LDFLAGS= + +empty:= +space:= $(empty) $(empty) +path:=$(subst :,$(space),$(PATH)) +path:=$(filter-out .%,$(path)) +path:=$(subst $(space),:,$(path)) +export PATH:=$(path) unexport TAR_OPTIONS @@ -65,6 +70,12 @@ ULIMIT_FIX=_limit=`ulimit -n`; [ "$$_limit" = "unlimited" -o "$$_limit" -ge 1024 prepare-mk: FORCE ; +ifdef SDK + IGNORE_PACKAGES = linux +endif + +_ignore = $(foreach p,$(IGNORE_PACKAGES),--ignore $(p)) + prepare-tmpinfo: FORCE @+$(MAKE) -r -s staging_dir/host/.prereq-build $(PREP_MK) mkdir -p tmp/info @@ -72,11 +83,11 @@ prepare-tmpinfo: FORCE $(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f include/scan.mk SCAN_TARGET="targetinfo" SCAN_DIR="target/linux" SCAN_NAME="target" SCAN_DEPS="profiles/*.mk $(TOPDIR)/include/kernel*.mk $(TOPDIR)/include/target.mk" 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/metadata.pl $${type}_config "$$f" > "$$t" || { rm -f "$$t"; echo "Failed to build $$t"; false; break; }; \ + [ "$$t" -nt "$$f" ] || ./scripts/metadata.pl $(_ignore) $${type}_config "$$f" > "$$t" || { rm -f "$$t"; echo "Failed to build $$t"; false; break; }; \ done - [ tmp/.config-feeds.in -nt tmp/.packagefeeds ] || ./scripts/feeds feed_config > tmp/.config-feeds.in + [ tmp/.config-feeds.in -nt tmp/.packagesubdirs ] || ./scripts/feeds feed_config > tmp/.config-feeds.in ./scripts/metadata.pl package_mk tmp/.packageinfo > tmp/.packagedeps || { rm -f tmp/.packagedeps; false; } - ./scripts/metadata.pl package_feeds tmp/.packageinfo > tmp/.packagefeeds || { rm -f tmp/.packagefeeds; false; } + ./scripts/metadata.pl package_subdirs tmp/.packageinfo > tmp/.packagesubdirs || { rm -f tmp/.packagesubdirs; false; } touch $(TOPDIR)/tmp/.build .config: ./scripts/config/conf $(if $(CONFIG_HAVE_DOT_CONFIG),,prepare-tmpinfo) @@ -166,6 +177,8 @@ clean dirclean: .config prereq:: prepare-tmpinfo .config @+$(NO_TRACE_MAKE) -r -s $@ +WARN_PARALLEL_ERROR = $(if $(BUILD_LOG),,$(and $(filter -j,$(MAKEFLAGS)),$(findstring s,$(OPENWRT_VERBOSE)))) + ifeq ($(SDK),1) %:: @@ -184,10 +197,27 @@ else printf "$(_R)WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!$(_N)\n" >&2; \ fi \ ) - @+$(ULIMIT_FIX) $(SUBMAKE) -r $@ + @+$(ULIMIT_FIX) $(SUBMAKE) -r $@ $(if $(WARN_PARALLEL_ERROR), || { \ + printf "$(_R)Build failed - please re-run with -j1 to see the real error message$(_N)\n" >&2; \ + false; \ + } ) endif +# update all feeds, re-create index files, install symlinks +package/symlinks: + ./scripts/feeds update -a + ./scripts/feeds install -a + +# re-create index files, install symlinks +package/symlinks-install: + ./scripts/feeds update -i + ./scripts/feeds install -a + +# remove all symlinks, don't touch ./feeds +package/symlinks-clean: + ./scripts/feeds uninstall -a + help: cat README @@ -198,7 +228,7 @@ docs/clean: FORCE @$(_SINGLE)$(SUBMAKE) -C docs clean distclean: - rm -rf tmp build_dir staging_dir dl .config* feeds package/feeds package/openwrt-packages bin + 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 ifeq ($(findstring v,$(DEBUG)),)