diff --git a/openwrt/package/rules.mk b/openwrt/package/rules.mk new file mode 100644 index 0000000000..ffcbe1acd8 --- /dev/null +++ b/openwrt/package/rules.mk @@ -0,0 +1,26 @@ +ifneq ($(strip $(PKG_SOURCE)),) +$(DL_DIR)/$(PKG_SOURCE): + $(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE) $(PKG_MD5SUM) $(PKG_SOURCE_URL) +endif + +ifneq ($(strip $(PKG_CAT)),) +$(PKG_BUILD_DIR)/.prepared: $(DL_DIR)/$(PKG_SOURCE) + rm -rf $(PKG_BUILD_DIR) + $(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - + if [ -d ./patches ]; then \ + $(PATCH) $(PKG_BUILD_DIR) ./patches ; \ + fi + touch $(PKG_BUILD_DIR)/.prepared +endif + +all: compile + +source: $(DL_DIR)/$(PKG_SOURCE) +prepare: $(PKG_BUILD_DIR)/.prepared +compile: $(COMPILE_TARGETS) +install: $(INSTALL_TARGETS) + +clean: $(CLEAN_TARGETS) + rm -rf $(PKG_FILES) $(PKG_BUILD_DIR) + +.PHONY: all source prepare compile install clean \ No newline at end of file diff --git a/openwrt/package/templates.mk b/openwrt/package/templates.mk new file mode 100644 index 0000000000..c60d9ce01f --- /dev/null +++ b/openwrt/package/templates.mk @@ -0,0 +1,22 @@ +# $(call PKG_template,EXAMPLE,example,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) +define PKG_template + +IPKG_$(1):=$(PACKAGE_DIR)/$(2)_$(3)_$(4).ipk +IDIR_$(1):=$(PKG_BUILD_DIR)/ipkg/$(2) +INFO_$(1):=$(IPKG_STATE_DIR)/info/$(2).list + +PKG_FILES += $$(IPKG_$(1)) +ifneq ($(BR2_PACKAGE_$(1)),) +COMPILE_TARGETS += $$(IPKG_$(1)) +endif +ifeq ($(BR2_PACKAGE_$(1)),y) +INSTALL_TARGETS += $$(INFO_$(1)) +endif + +$$(IDIR_$(1))/CONTROL/control: $(PKG_BUILD_DIR)/.prepared + $(SCRIPT_DIR)/make-ipkg-dir.sh $$(IDIR_$(1)) ./ipkg/$(2).control $(3) $(4) + +$$(INFO_$(1)): $$(IPKG_$(1)) + $(IPKG) install $$(IPKG_$(1)) + +endef