Support force-disabling per-package parallel build with {PKG,HOST}_BUILD_PARALLEL:=0
[openwrt.git] / include / package-defaults.mk
index 7a753c6..1d29119 100644 (file)
@@ -13,7 +13,7 @@ define Package/Default
   PROVIDES:=
   EXTRA_DEPENDS:=
   MAINTAINER:=OpenWrt Developers Team <openwrt-devel@openwrt.org>
-  SOURCE:=$(patsubst $(TOPDIR)/%,%,${shell pwd})
+  SOURCE:=$(patsubst $(TOPDIR)/%,%,$(CURDIR))
   ifneq ($(PKG_VERSION),)
     ifneq ($(PKG_RELEASE),)
       VERSION:=$(PKG_VERSION)-$(PKG_RELEASE)
@@ -23,42 +23,56 @@ define Package/Default
   else
     VERSION:=$(PKG_RELEASE)
   endif
-  PKGARCH:=$(ARCH)
+  ifneq ($(PKG_FLAGS),)
+    PKGFLAGS:=$(PKG_FLAGS)
+  else
+    PKGFLAGS:=
+  endif
+  ifneq ($(ARCH_PACKAGES),)
+    PKGARCH:=$(ARCH_PACKAGES)
+  else
+    PKGARCH:=$(BOARD)
+  endif
   PRIORITY:=optional
   DEFAULT:=
   MENU:=
   SUBMENU:=
   SUBMENUDEP:=
   TITLE:=
-  DESCRIPTION:=
   KCONFIG:=
+  BUILDONLY:=
+  URL:=
+  VARIANT:=
 endef
 
 Build/Patch:=$(Build/Patch/Default)
 ifneq ($(strip $(PKG_UNPACK)),)
   define Build/Prepare/Default
-       $(PKG_UNPACK)
+       $(SH_FUNC) $(PKG_UNPACK)
        $(Build/Patch)
   endef
 endif
 
+CONFIGURE_PREFIX:=/usr
 CONFIGURE_ARGS = \
                --target=$(GNU_TARGET_NAME) \
                --host=$(GNU_TARGET_NAME) \
                --build=$(GNU_HOST_NAME) \
                --program-prefix="" \
                --program-suffix="" \
-               --prefix=/usr \
-               --exec-prefix=/usr \
-               --bindir=/usr/bin \
-               --sbindir=/usr/sbin \
-               --libexecdir=/usr/lib \
+               --prefix=$(CONFIGURE_PREFIX) \
+               --exec-prefix=$(CONFIGURE_PREFIX) \
+               --bindir=$(CONFIGURE_PREFIX)/bin \
+               --sbindir=$(CONFIGURE_PREFIX)/sbin \
+               --libexecdir=$(CONFIGURE_PREFIX)/lib \
                --sysconfdir=/etc \
-               --datadir=/usr/share \
+               --datadir=$(CONFIGURE_PREFIX)/share \
                --localstatedir=/var \
-               --mandir=/usr/man \
-               --infodir=/usr/info \
-               $(DISABLE_NLS)
+               --mandir=$(CONFIGURE_PREFIX)/man \
+               --infodir=$(CONFIGURE_PREFIX)/info \
+               $(DISABLE_NLS) \
+               $(DISABLE_LARGEFILE) \
+               $(DISABLE_IPV6)
 
 CONFIGURE_VARS = \
                $(TARGET_CONFIGURE_OPTS) \
@@ -66,16 +80,17 @@ CONFIGURE_VARS = \
                CXXFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
                CPPFLAGS="$(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \
                LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" \
-               PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" \
-               PKG_CONFIG_LIBDIR="$(STAGING_DIR)/usr/lib/pkgconfig"
 
 CONFIGURE_PATH = .
 CONFIGURE_CMD = ./configure
 
+replace_script=$(FIND) $(1) -name $(2) | $(XARGS) chmod u+w; $(FIND) $(1) -name $(2) | $(XARGS) -n1 cp $(SCRIPT_DIR)/$(2);
+
 define Build/Configure/Default
        (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH)/$(strip $(3)); \
        if [ -x $(CONFIGURE_CMD) ]; then \
-               $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/$(3)/ && \
+               $(call replace_script,$(PKG_BUILD_DIR)/$(3),config.guess) \
+               $(call replace_script,$(PKG_BUILD_DIR)/$(3),config.sub) \
                $(CONFIGURE_VARS) \
                $(2) \
                $(CONFIGURE_CMD) \
@@ -88,18 +103,37 @@ endef
 MAKE_VARS = \
        CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \
        CXXFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \
-       LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDCFLAGS)"
+       LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)"
 
 MAKE_FLAGS = \
        $(TARGET_CONFIGURE_OPTS) \
        CROSS="$(TARGET_CROSS)" \
        ARCH="$(ARCH)"
 
+MAKE_INSTALL_FLAGS = \
+       $(MAKE_FLAGS) \
+       DESTDIR="$(PKG_INSTALL_DIR)"
+
 MAKE_PATH = .
 
 define Build/Compile/Default
        $(MAKE_VARS) \
-       $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+       $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
                $(MAKE_FLAGS) \
                $(1);
 endef
+
+define Build/Install/Default
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_INSTALL_FLAGS) \
+               $(if $(1), $(1), install);
+endef
+
+define Build/Dist/Default
+       $(call Build/Compile/Default, DESTDIR="$(PKG_BUILD_DIR)/tmp" CC="$(TARGET_CC)" dist)
+endef
+
+define Build/DistCheck/Default
+       $(call Build/Compile/Default, DESTDIR="$(PKG_BUILD_DIR)/tmp" CC="$(TARGET_CC)" distcheck)
+endef
This page took 0.021381 seconds and 4 git commands to generate.