#
-# Copyright (C) 2006,2007 OpenWrt.org
+# Copyright (C) 2006-2007 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
all: $(if $(DUMP),dumpinfo,compile)
-PKG_BUILD_DIR ?= $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_BUILD_DIR ?= $(BUILD_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION))
PKG_INSTALL_DIR ?= $(PKG_BUILD_DIR)/ipkg-install
+PKG_MD5SUM ?= unknown
include $(INCLUDE_DIR)/prereq.mk
include $(INCLUDE_DIR)/host.mk
include $(INCLUDE_DIR)/unpack.mk
include $(INCLUDE_DIR)/depends.mk
+
+STAMP_PREPARED:=$(PKG_BUILD_DIR)/.prepared$(if $(DUMP),,_$(shell $(call find_md5,${CURDIR} $(PKG_FILE_DEPEND),)))
+STAMP_CONFIGURED:=$(PKG_BUILD_DIR)/.configured
+STAMP_BUILT:=$(PKG_BUILD_DIR)/.built
+
+include $(INCLUDE_DIR)/quilt.mk
include $(INCLUDE_DIR)/package-defaults.mk
include $(INCLUDE_DIR)/package-dumpinfo.mk
include $(INCLUDE_DIR)/package-ipkg.mk
-STAMP_PREPARED:=$(PKG_BUILD_DIR)/.prepared
-STAMP_CONFIGURED:=$(PKG_BUILD_DIR)/.configured
-STAMP_BUILT:=$(PKG_BUILD_DIR)/.built
+override MAKEFLAGS=
export CONFIG_SITE:=$(INCLUDE_DIR)/site/$(REAL_GNU_TARGET_NAME)
-ifneq ($(CONFIG_AUTOREBUILD),)
- define Build/Autoclean
- $(PKG_BUILD_DIR)/.dep_files: $(STAMP_PREPARED)
- $(call rdep,${CURDIR},$(STAMP_PREPARED),$(TMP_DIR)/.packagedir_$(shell echo "${CURDIR}" | md5s))
- $(call rdep,$(PKG_BUILD_DIR) $(PKG_FILE_DEPEND),$(STAMP_BUILT),$(PKG_BUILD_DIR)/.dep_files, -and -not -path "/.*" -and -not -path "*/ipkg*")
- endef
+ifeq ($(DUMP)$(filter prereq clean refresh update,$(MAKECMDGOALS)),)
+ ifneq ($(if $(QUILT),,$(CONFIG_AUTOREBUILD)),)
+ define Build/Autoclean
+ $(PKG_BUILD_DIR)/.dep_files: $(STAMP_PREPARED)
+ $(call rdep,${CURDIR} $(PKG_FILE_DEPEND),$(STAMP_PREPARED),$(PKG_BUILD_DIR)/.dep_files,-x "*/.dep_*")
+ $(if $(filter prepare,$(MAKECMDGOALS)),,$(call rdep,$(PKG_BUILD_DIR),$(STAMP_BUILT),,-x "*/.dep_*" -x "*/ipkg*"))
+ endef
+ endif
endif
+
define Build/DefaultTargets
ifneq ($(strip $(PKG_SOURCE_URL)),)
download: $(DL_DIR)/$(PKG_SOURCE)
$(STAMP_BUILT): $(STAMP_CONFIGURED)
$(Build/Compile)
- @$(NO_TRACE_MAKE) $(PKG_BUILD_DIR)/.dep_files
+ $(Build/InstallDev)
touch $$@
ifdef Build/InstallDev
- compile: $(STAGING_DIR)/stampfiles/.$(PKG_NAME)-installed
- $(STAGING_DIR)/stampfiles/.$(PKG_NAME)-installed: $(STAMP_BUILT)
- mkdir -p $(STAGING_DIR)/stampfiles
- $(Build/InstallDev)
- touch $$@
+ compile: $(STAMP_BUILT)
endif
define Build/DefaultTargets
$(BuildIPKG)
endef
+# prevent libtool from setting rpath when linking
+define libtool_disable_rpath
+ find $(PKG_BUILD_DIR) -name 'libtool' | $(XARGS) \
+ $(SED) 's,^hardcode_libdir_flag_spec=.*,hardcode_libdir_flag_spec=" -D__LIBTOOL_IS_A_FOOL__ ",g'
+endef
+
+# prevent libtool from linking against host development libraries
+define libtool_fixup_libdir
+ find $(PKG_BUILD_DIR) -name '*.la' | $(XARGS) \
+ $(SED) "s,^libdir='/usr/lib',libdir='$(strip $(1))/usr/lib',g"
+endef
+
define Build/Prepare
$(call Build/Prepare/Default,)
endef
clean: FORCE
$(Build/UninstallDev)
$(Build/Clean)
- @rm -f $(STAGING_DIR)/stampfiles/.$(PKG_NAME)-installed
+ @rm -f $(STAGING_DIR)/stamp/.$(PKG_NAME)-installed
@rm -rf $(PKG_BUILD_DIR)