endif
include $(INCLUDE_DIR)/prereq.mk
+include $(INCLUDE_DIR)/host.mk
+include $(INCLUDE_DIR)/unpack.mk
+
+export CONFIG_SITE:=$(INCLUDE_DIR)/site/$(REAL_GNU_TARGET_NAME)
+
+define shvar
+V_$(subst .,_,$(subst -,_,$(subst /,_,$(1))))
+endef
+
+define shexport
+$(call shvar,$(1))=$$(call $(1))
+export $(call shvar,$(1))
+endef
define Build/DefaultTargets
ifeq ($(DUMP),)
_INFO+=$(subst $(TOPDIR)/,,$(PKG_BUILD_DIR))
$(PKG_BUILD_DIR)/.prepared: package-clean
endif
-
endif
endif
SECTION:=opt
CATEGORY:=Extra packages
DEPENDS:=
+ PROVIDES:=
EXTRA_DEPENDS:=
MAINTAINER:=OpenWrt Developers Team <openwrt-devel@openwrt.org>
SOURCE:=$(patsubst $(TOPDIR)/%,%,${shell pwd})
endef
define BuildIPKGVariable
- pkg_$(subst .,_,$(subst -,_,$(1)))_$(2) = $$(Package/$(1)/$(2))
- export pkg_$(subst .,_,$(subst -,_,$(1))_$(2))
- $(1)_COMMANDS += if [ -n "$$$$$$$$pkg_$(subst .,_,$(subst -,_,$(1)))_$(2)" ]; then echo "$$$$$$$$pkg_$(subst .,_,$(subst -,_,$(1)))_$(2)" > $(2); fi;
+ $(call shexport,Package/$(1)/$(2))
+ $(1)_COMMANDS += var2file "$(call shvar,Package/$(1)/$(2))" $(2);
endef
define BuildPackage
echo "Default: $(DEFAULT)";
endif
+ $(call shexport,Package/$(1)/description)
+
DUMPINFO += \
if [ "$$$$PREREQ_CHECK" = 1 ]; then echo "Prereq-Check: 1"; fi; \
echo "Version: $(VERSION)"; \
echo "Depends: $$(IDEPEND_$(1))"; \
+ echo "Provides: $(PROVIDES)"; \
echo "Build-Depends: $(PKG_BUILDDEP)"; \
echo "Category: $(CATEGORY)"; \
echo "Title: $(TITLE)"; \
- echo "Description: $(DESCRIPTION)" | sed -e 's,\\,\n,g';
+ if isset $(call shvar,Package/$(1)/description); then \
+ echo -n "Description: "; \
+ getvar $(call shvar,Package/$(1)/description); \
+ else \
+ echo "Description: $(DESCRIPTION)" | sed -e 's,\\,\n,g'; \
+ fi;
ifneq ($(URL),)
DUMPINFO += \
- echo; \
- echo "$(URL)";
- endif
-
- DUMPINFO += \
- echo "@@";
-
- ifneq ($(CONFIG),)
- DUMPINFO += \
- echo "Config: $(CONFIG)" | sed -e 's,\\,\n,g'; \
- echo "@@";
+ echo; \
+ echo "$(URL)";
endif
+
+ DUMPINFO += \
+ echo "@@";
+
+ $(call shexport,Package/$(1)/config)
+ DUMPINFO += \
+ if isset $(call shvar,Package/$(1)/config); then echo "Config: "; getvar $(call shvar,Package/$(1)/config); fi; \
+ echo "@@";
+
endif
$(eval $(call BuildIPKGVariable,$(1),conffiles))
clean: $(1)-clean
$(PKG_BUILD_DIR)/.version-$(1)_$(VERSION)_$(PKGARCH): $(PKG_BUILD_DIR)/.prepared
- -@rm $(PKG_BUILD_DIR)/.version-$(1)_* 2>/dev/null
+ -@rm -f $(PKG_BUILD_DIR)/.version-$(1)_* 2>/dev/null
@touch $$@
$$(eval $$(call Build/DefaultTargets,$(1)))
- ifneq ($$(CONFIG_PACKAGE_$(1)),)
- ifneq ($(MAKECMDGOALS),prereq)
- ifneq ($(DUMP),1)
- ifneq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p -x ipkg -x ipkg-install '$$(IPKG_$(1))' '$(PKG_BUILD_DIR)'),$$(IPKG_$(1)))
- _INFO+=$(subst $(TOPDIR)/,,$$(IPKG_$(1)))
- $(PKG_BUILD_DIR)/.built: package-rebuild
- endif
-
- ifneq ($$(_INFO),)
- $$(info Rebuilding $$(_INFO))
+ ifdef Package/$(1)/install
+ ifneq ($$(CONFIG_PACKAGE_$(1)),)
+ ifneq ($(MAKECMDGOALS),prereq)
+ ifneq ($(DUMP),1)
+ ifneq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p -x ipkg -x ipkg-install '$$(IPKG_$(1))' '$(PKG_BUILD_DIR)'),$$(IPKG_$(1)))
+ _INFO+=$(subst $(TOPDIR)/,,$$(IPKG_$(1)))
+ $(PKG_BUILD_DIR)/.built: package-rebuild
+ endif
+
+ ifneq ($$(_INFO),)
+ $$(info Rebuilding $$(_INFO))
+ endif
endif
endif
endif
endif
endef
-ifneq ($(strip $(PKG_CAT)),)
- ifeq ($(PKG_CAT),unzip)
- UNPACK=unzip -d $(PKG_BUILD_DIR) $(DL_DIR)/$(PKG_SOURCE)
- else
- UNPACK=$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(PKG_BUILD_DIR)/.. $(TAR_OPTIONS) -
- endif
+ifneq ($(strip $(PKG_UNPACK)),)
define Build/Prepare/Default
- $(UNPACK)
- @if [ -d ./patches ]; then \
+ $(PKG_UNPACK)
+ @if [ -d ./patches -a "$$$$(ls ./patches | wc -l)" -gt 0 ]; then \
$(PATCH) $(PKG_BUILD_DIR) ./patches; \
fi
endef
$(call Build/Prepare/Default,)
endef
+define Build/Configure/Touch
+ (cd $(PKG_BUILD_DIR) ; \
+ touch configure.in ; \
+ touch aclocal.m4 ; \
+ touch Makefile.in ; \
+ touch configure ; \
+ touch acinclude.m4 ; \
+ touch config.h.in ; \
+ touch configure.ac ; \
+ touch stamp-h.in ; \
+ );
+endef
+
define Build/Configure/Default
- (cd $(PKG_BUILD_DIR)/$(3); \
+ $(call Build/Configure/Touch)
+ (cd $(PKG_BUILD_DIR)/$(strip $(3)); \
if [ -x configure ]; then \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
$(PACKAGE_DIR):
mkdir -p $@
- ifneq ($(strip $(PKG_SOURCE)),)
+ ifneq ($(strip $(PKG_SOURCE_URL)),)
download: $(DL_DIR)/$(PKG_SOURCE)
$(DL_DIR)/$(PKG_SOURCE):