X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=include%2Fpackage.mk;h=a4f353be95acbfd124f17c9d543159ade26cd3d5;hb=c263a155875d0d68a21ef3ada65dd0e92fbb9933;hp=e39a6598e00640f7e0016663eeac3f7ca7259395;hpb=07fb519091124b141c17f4760770f50490fc945f;p=openwrt.git diff --git a/include/package.mk b/include/package.mk index e39a6598e0..a4f353be95 100644 --- a/include/package.mk +++ b/include/package.mk @@ -5,6 +5,8 @@ # See /LICENSE for more information. # +__package_mk:=1 + all: $(if $(DUMP),dumpinfo,compile) PKG_BUILD_DIR ?= $(BUILD_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION)) @@ -12,11 +14,17 @@ PKG_INSTALL_DIR ?= $(PKG_BUILD_DIR)/ipkg-install PKG_MD5SUM ?= unknown PKG_BUILD_PARALLEL ?= +ifneq ($(CONFIG_PKG_BUILD_USE_JOBSERVER),) + MAKE_J:=$(if $(MAKE_JOBSERVER),$(MAKE_JOBSERVER) -j) +else + MAKE_J:=-j$(CONFIG_PKG_BUILD_JOBS) +endif + ifeq ($(strip $(PKG_BUILD_PARALLEL)),0) PKG_JOBS?=-j1 else PKG_JOBS?=$(if $(PKG_BUILD_PARALLEL)$(CONFIG_PKG_DEFAULT_PARALLEL),\ - $(if $(CONFIG_PKG_BUILD_PARALLEL),-j$(CONFIG_PKG_BUILD_JOBS),-j1),-j1) + $(if $(CONFIG_PKG_BUILD_PARALLEL),$(MAKE_J),-j1),-j1) endif include $(INCLUDE_DIR)/prereq.mk @@ -30,7 +38,7 @@ ifneq ($(PREV_STAMP_PREPARED),) STAMP_PREPARED:=$(PREV_STAMP_PREPARED) CONFIG_AUTOREBUILD:= else - STAMP_PREPARED=$(PKG_BUILD_DIR)/.prepared$(if $(QUILT)$(DUMP),,_$(shell $(call find_md5,${CURDIR} $(PKG_FILE_DEPENDS),))) + STAMP_PREPARED=$(PKG_BUILD_DIR)/.prepared$(if $(QUILT)$(DUMP),,_$(shell $(call find_md5,${CURDIR} $(PKG_FILE_DEPENDS),))$(call confvar,$(PKG_PREPARED_DEPENDS))) endif STAMP_CONFIGURED:=$(PKG_BUILD_DIR)/.configured$(if $(DUMP),,_$(call confvar,$(PKG_CONFIG_DEPENDS))) STAMP_CONFIGURED_WILDCARD=$(patsubst %_$(call confvar,$(PKG_CONFIG_DEPENDS)),%_*,$(STAMP_CONFIGURED)) @@ -43,6 +51,9 @@ ifneq ($(if $(CONFIG_SRC_TREE_OVERRIDE),$(wildcard ./git-src)),) QUILT:=1 endif +PKG_DIR_NAME:=$(lastword $(subst /,$(space),$(CURDIR))) +PKG_INSTALL_STAMP:=$(PKG_INFO_DIR)/$(PKG_DIR_NAME).$(if $(BUILD_VARIANT),$(BUILD_VARIANT),default).install + include $(INCLUDE_DIR)/download.mk include $(INCLUDE_DIR)/quilt.mk include $(INCLUDE_DIR)/package-defaults.mk @@ -56,6 +67,7 @@ CONFIG_SITE:=$(INCLUDE_DIR)/site/$(REAL_GNU_TARGET_NAME) CUR_MAKEFILE:=$(filter-out Makefile,$(firstword $(MAKEFILE_LIST))) SUBMAKE:=$(NO_TRACE_MAKE) $(if $(CUR_MAKEFILE),-f $(CUR_MAKEFILE)) PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig +unexport QUIET ifeq ($(DUMP)$(filter prereq clean refresh update,$(MAKECMDGOALS)),) ifneq ($(if $(QUILT),,$(CONFIG_AUTOREBUILD)),) @@ -72,6 +84,9 @@ ifeq ($(CONFIG_$(PKG_NAME)_USE_CUSTOM_SOURCE_DIR),y) PKG_SOURCE_URL:= # add hook to install a link to customer source path of dedicated package Hooks/Prepare/Pre += prepare_custom_source_directory +ifeq ($(filter autoreconf,$(Hooks/Configure/Pre)),) + Hooks/Configure/Pre += autoreconf_target +endif # define empty default action define Build/Prepare/Default @: @@ -156,6 +171,11 @@ define Build/DefaultTargets $(foreach hook,$(Hooks/InstallDev/Post),\ $(call $(hook),$(TMP_DIR)/stage-$(PKG_NAME),$(TMP_DIR)/stage-$(PKG_NAME)/host)$(sep)\ ) + if [ -f $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) ]; then \ + $(SCRIPT_DIR)/clean-package.sh \ + "$(STAGING_DIR)/packages/$(STAGING_FILES_LIST)" \ + "$(STAGING_DIR)"; \ + fi if [ -d $(TMP_DIR)/stage-$(PKG_NAME) ]; then \ (cd $(TMP_DIR)/stage-$(PKG_NAME); find ./ > $(TMP_DIR)/stage-$(PKG_NAME).files); \ $(call locked, \ @@ -200,7 +220,7 @@ define Package/$(1)/description endef endif - $(foreach FIELD, TITLE CATEGORY PRIORITY SECTION VERSION, + $(foreach FIELD, TITLE CATEGORY SECTION VERSION, ifeq ($($(FIELD)),) $$(error Package/$(1) is missing the $(FIELD) field) endif @@ -235,6 +255,14 @@ Build/Install=$(if $(PKG_INSTALL),$(call Build/Install/Default,)) Build/Dist=$(call Build/Dist/Default,) Build/DistCheck=$(call Build/DistCheck/Default,) +.NOTPARALLEL: + +.PHONY: prepare-package-install +prepare-package-install: + @mkdir -p $(PKG_INFO_DIR) + @touch $(PKG_INSTALL_STAMP).clean + @echo "$(filter-out essential,$(PKG_FLAGS))" > $(PKG_INSTALL_STAMP).flags + $(PACKAGE_DIR): mkdir -p $@ @@ -242,8 +270,8 @@ dumpinfo: download: prepare: configure: -compile: -install: +compile: prepare-package-install +install: compile clean-staging: FORCE rm -f $(STAMP_INSTALLED) @-(\