X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/08b4d5506480d5d62c9ce334e98bd06485ab296a..37418b652fcb624d6ae14f9c967686b96c274c53:/package/rules.mk diff --git a/package/rules.mk b/package/rules.mk index 50f03effa..37dc2a0ac 100644 --- a/package/rules.mk +++ b/package/rules.mk @@ -6,12 +6,16 @@ endif define Build/DefaultTargets ifeq ($(DUMP),) - ifeq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p $(PKG_BUILD_DIR) . | tee /tmp/xy1),.) - $(PKG_BUILD_DIR)/.prepared: package-clean + ifneq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p $(PKG_BUILD_DIR) . $(TOPDIR)/package/rules.mk),$(PKG_BUILD_DIR)) + ifeq ($(CONFIG_AUTOREBUILD),y) + $(PKG_BUILD_DIR)/.prepared: package-clean + endif endif - ifneq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p -x ipkg $(IPKG_$(1)) $(PKG_BUILD_DIR) | tee /tmp/xy2),$(IPKG_$(1))) - $(PKG_BUILD_DIR)/.built: package-rebuild + ifneq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p -x ipkg $(IPKG_$(1)) $(PKG_BUILD_DIR)),$(IPKG_$(1))) + ifeq ($(CONFIG_AUTOREBUILD),y) + $(PKG_BUILD_DIR)/.built: package-rebuild + endif endif endif @@ -28,17 +32,22 @@ define Build/DefaultTargets $(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/.configured $(call Build/Compile) touch $$@ - - $(PKG_BUILD_DIR)/.dev-installed: $(PKG_BUILD_DIR)/.built + + $(STAGING_DIR)/stampfiles/.$(PKG_NAME)-installed: $(PKG_BUILD_DIR)/.built $(call Build/InstallDev) touch $$@ - + + ifdef Build/InstallDev + compile-targets: $(STAGING_DIR)/stampfiles/.$(PKG_NAME)-installed + endif + package-clean: FORCE $(call Build/Clean) $(call Build/UninstallDev) + rm -f $(STAGING_DIR)/stampfiles/.$(PKG_NAME)-installed package-rebuild: FORCE - @-rm $(PKG_BUILD_DIR)/.built + @-rm -f $(PKG_BUILD_DIR)/.built define Build/DefaultTargets endef @@ -51,7 +60,15 @@ define Package/Default DEPENDS:= MAINTAINER:=OpenWrt Developers Team SOURCE:=$(patsubst $(TOPDIR)/%,%,${shell pwd}) - VERSION:=$(PKG_VERSION)-$(PKG_RELEASE) + ifneq ($(PKG_VERSION),) + ifneq ($(PKG_RELEASE),) + VERSION:=$(PKG_VERSION)-$(PKG_RELEASE) + else + VERSION:=$(PKG_VERSION) + endif + else + VERSION:=$(PKG_RELEASE) + endif PKGARCH:=$(ARCH) PRIORITY:=optional DEFAULT:= @@ -134,8 +151,7 @@ define BuildPackage echo "Version: $(VERSION)" >> $$(IDIR_$(1))/CONTROL/control ( \ DEPENDS=; \ - for depend in $$(IDEPEND_$(1)); do \ - [ "$$$${depend%%%%%%%%[A-Za-z]*}" = "@" ] && continue; \ + for depend in $$(filter-out @%,$$(IDEPEND_$(1))); do \ DEPENDS=$$$${DEPENDS:+$$$$DEPENDS, }$$$${depend##+}; \ done; \ echo "Depends: $$$$DEPENDS" >> $$(IDIR_$(1))/CONTROL/control; \ @@ -154,8 +170,9 @@ define BuildPackage $$(IPKG_$(1)): $$(IDIR_$(1))/CONTROL/control $(PKG_BUILD_DIR)/.built $(call Package/$(1)/install,$$(IDIR_$(1))) mkdir -p $(PACKAGE_DIR) - find $$(IDIR_$(1)) -name CVS | xargs rm -rf - find $$(IDIR_$(1)) -name .svn | xargs rm -rf + -find $$(IDIR_$(1)) -name CVS | xargs rm -rf + -find $$(IDIR_$(1)) -name .svn | xargs rm -rf + -find $$(IDIR_$(1)) -name '.#*' | xargs rm -f $(RSTRIP) $$(IDIR_$(1)) $(IPKG_BUILD) $$(IDIR_$(1)) $(PACKAGE_DIR) @@ -194,8 +211,9 @@ define Build/Prepare endef define Build/Configure/Default - @(cd $(PKG_BUILD_DIR); \ + @(cd $(PKG_BUILD_DIR)/$(3); \ [ -x configure ] && \ + $(2) \ $(TARGET_CONFIGURE_OPTS) \ CFLAGS="$(TARGET_CFLAGS)" \ CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \ @@ -228,12 +246,11 @@ endef define Build/Compile/Default $(MAKE) -C $(PKG_BUILD_DIR) \ + $(TARGET_CONFIGURE_OPTS) \ CC=$(TARGET_CC) \ CROSS="$(TARGET_CROSS)" \ - PREFIX="$$(IDIR_$(1))" \ - EXTRA_CFLAGS="$(TARGET_CFLAGS)" \ + EXTRA_CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/include -I$(STAGING_DIR)/usr/include" \ ARCH="$(ARCH)" \ - DESTDIR="$$(IDIR_$(1))" \ $(1); endef @@ -241,16 +258,6 @@ define Build/Compile $(call Build/Compile/Default,) endef -define Build/InstallDev -endef - -define Build/Clean - $(MAKE) clean -endef - -define Build/UninstallDev -endef - ifneq ($(DUMP),) dumpinfo: FORCE @$(DUMPINFO) @@ -263,7 +270,7 @@ else prepare: $(PKG_BUILD_DIR)/.prepared configure: $(PKG_BUILD_DIR)/.configured - compile-targets: $(PKG_BUILD_DIR)/.dev-installed + compile-targets: compile: compile-targets install-targets: @@ -272,5 +279,6 @@ else clean-targets: clean: FORCE @$(MAKE) clean-targets + $(call Build/Clean) rm -rf $(PKG_BUILD_DIR) endif