| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- # invoke ipkg with configuration in $(STAGING_DIR)/etc/ipkg.conf
- IPKG := IPKG_INSTROOT=$(TARGET_DIR) IPKG_CONF_DIR=$(STAGING_DIR)/etc $(SCRIPT_DIR)/ipkg -force-defaults -force-depends
- IPKG_STATE_DIR := $(TARGET_DIR)/usr/lib/ipkg
- # invoke ipkg-build with some default options
- IPKG_BUILD := PATH="$(TARGET_PATH)" ipkg-build -c -o root -g root
- # where to build (and put) .ipk packages
- IPKG_TARGET_DIR := $(PACKAGE_DIR)
- ifneq ($(DUMP),)
- dump:
- .PHONY: dump
- endif
- 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
- ifneq ($(BR2_PACKAGE_$(1)),)
- compile-targets: $$(IPKG_$(1))
- endif
- ifneq ($(DEVELOPER)$(SDK),)
- compile-targets: $$(IPKG_$(1))
- endif
- ifeq ($(BR2_PACKAGE_$(1)),y)
- install-targets: $$(INFO_$(1))
- endif
- IDEPEND_$(1):=$$(strip $(5))
- $$(IDIR_$(1))/CONTROL/control: $(PKG_BUILD_DIR)/.prepared
- $(SCRIPT_DIR)/make-ipkg-dir.sh $$(IDIR_$(1)) ./ipkg/$(2).control $(3) $(4)
- if [ "$$(IDEPEND_$(1))" != "" ]; then echo "Depends: $$(IDEPEND_$(1))" >> $$(IDIR_$(1))/CONTROL/control; fi
- for file in conffiles preinst postinst prerm postrm; do \
- [ -f ./ipkg/$(2).$$$$file ] && cp ./ipkg/$(2).$$$$file $$(IDIR_$(1))/CONTROL/$$$$file || true; \
- done
- $$(IPKG_$(1)): $$(IDIR_$(1))/CONTROL/control $(PKG_BUILD_DIR)/.built $(PACKAGE_DIR)
- $$(INFO_$(1)): $$(IPKG_$(1))
- $(IPKG) install $$(IPKG_$(1))
- $(2)-clean:
- rm -f $$(IPKG_$(1))
- clean-targets: $(2)-clean
- endef
- ifeq ($(DUMP),)
- 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)
- mkdir -p $(PKG_BUILD_DIR)
- $(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(PKG_BUILD_DIR)/.. $(TAR_OPTIONS)
- if [ -d ./patches ]; then \
- $(PATCH) $(PKG_BUILD_DIR) ./patches ; \
- fi
- touch $(PKG_BUILD_DIR)/.prepared
- endif
- all: compile
- compile-targets:
- install-targets:
- clean-targets:
- source: $(DL_DIR)/$(PKG_SOURCE)
- prepare: $(PKG_BUILD_DIR)/.prepared
- compile: compile-targets
- install: install-targets
- mostlyclean:
- rebuild:
- -$(MAKE) mostlyclean
- if [ -f $(PKG_BUILD_DIR)/.built ]; then \
- $(MAKE) clean; \
- fi
- $(MAKE) compile
- $(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
- $(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/.configured
- $(PACKAGE_DIR):
- mkdir -p $@
- clean: clean-targets
- rm -rf $(PKG_BUILD_DIR)
- .PHONY: all source prepare compile install clean
- endif
|