summaryrefslogtreecommitdiffstats
path: root/include/package.mk
diff options
context:
space:
mode:
Diffstat (limited to 'include/package.mk')
-rw-r--r--include/package.mk26
1 files changed, 21 insertions, 5 deletions
diff --git a/include/package.mk b/include/package.mk
index 64973b051..99d2dd270 100644
--- a/include/package.mk
+++ b/include/package.mk
@@ -13,13 +13,18 @@ PKG_BUILD_DIR ?= $(BUILD_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION))
PKG_INSTALL_DIR ?= $(PKG_BUILD_DIR)/ipkg-install
PKG_MD5SUM ?= unknown
PKG_BUILD_PARALLEL ?=
-PKG_INFO_DIR := $(STAGING_DIR)/pkginfo
+
+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
@@ -46,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
@@ -207,7 +215,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
@@ -242,6 +250,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 $@
@@ -249,8 +265,8 @@ dumpinfo:
download:
prepare:
configure:
-compile:
-install:
+compile: prepare-package-install
+install: compile
clean-staging: FORCE
rm -f $(STAMP_INSTALLED)
@-(\