From 39df35e9aeeb49ae6b33c520405930a78570ecfe Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 2 Jan 2010 20:45:23 +0100 Subject: add newpackage target to simplify adding new packages --- Makefile | 6 ++++++ TODO | 2 -- mk/build.mk | 13 +++++++++++++ package/template/Makefile | 34 ++++++++++++++++++++++++++++++++++ 4 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 package/template/Makefile diff --git a/Makefile b/Makefile index dfe1b0ca1..3b6d13687 100644 --- a/Makefile +++ b/Makefile @@ -71,6 +71,9 @@ dev-help: @echo '' @echo 'All changed patches will be opened with your $$EDITOR,' @echo 'so you can add a description and verify the modifications.' + @echo '' + @echo 'Adding a new package:' + @echo 'make PKG=foo VER=1.0 newpackage' clean: .prereq_done -@rm -f nohup.out @@ -113,6 +116,9 @@ switch: .prereq_done kernelconfig: .prereq_done @${GMAKE_INV} kernelconfig +newpackage: .prereq_done + @${GMAKE_INV} newpackage + image_clean imageclean cleanimage: .prereq_done @${GMAKE_INV} image_clean diff --git a/TODO b/TODO index 61921cbe3..fa8a07fef 100644 --- a/TODO +++ b/TODO @@ -2,6 +2,4 @@ - macos x build - make rpm package backend working - network scripts for wireless client / ap -- network scripts for pppoe - customise mconf help texts to better fit for OpenADK -- publish via trac diff --git a/mk/build.mk b/mk/build.mk index 12baf5049..48c1fcc1e 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -140,8 +140,10 @@ ${STAGING_DIR} ${STAGING_DIR}/etc ${STAGING_TOOLS}: ${STAGING_TOOLS}/{bin,lib} ${STAGING_DIR}/etc/ipkg.conf: ${STAGING_DIR}/etc +ifeq ($(ADK_TARGET_PACKAGE_IPKG),y) echo "dest root /" >${STAGING_DIR}/etc/ipkg.conf echo "option offline_root ${TARGET_DIR}" >>$(STAGING_DIR)/etc/ipkg.conf +endif package/%: ${TOPDIR}/.cfg/ADK_HAVE_DOT_CONFIG ${STAGING_DIR}/etc/ipkg.conf ${TOPDIR}/package/Depends.mk $(MAKE) -C package $(patsubst package/%,%,$@) @@ -171,6 +173,17 @@ kernelconfig: $(MAKE) -C $(BUILD_DIR)/linux/ ARCH=$(ARCH) menuconfig cp $(BUILD_DIR)/linux/.config $(TOPDIR)/target/$(ADK_TARGET)/kernel.config +# create a new package from package/template +newpackage: + @echo "Creating new package $(PKG)" + $(CP) $(TOPDIR)/package/template $(TOPDIR)/package/$(PKG) + pkg=$$(echo $(PKG)|tr '[:lower:]' '[:upper:]'); \ + $(SED) "s#@UPKG@#$$pkg#" $(TOPDIR)/package/$(PKG)/Makefile + $(SED) 's#@PKG@#$(PKG)#' $(TOPDIR)/package/$(PKG)/Makefile + $(SED) 's#@VER@#$(VER)#' $(TOPDIR)/package/$(PKG)/Makefile + @echo "Edit package/$(PKG)/Makefile to complete" + @echo "Do not forget to add package to package/Config.in" + ############################################################# # # Cleanup and misc junk diff --git a/package/template/Makefile b/package/template/Makefile new file mode 100644 index 000000000..66064ce81 --- /dev/null +++ b/package/template/Makefile @@ -0,0 +1,34 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(TOPDIR)/rules.mk + +PKG_NAME:= @PKG@ +PKG_VERSION:= @VER@ +PKG_RELEASE:= 1 +PKG_MD5SUM:= @add md5sum of package here@ +PKG_DESCR:= @add short description@ +PKG_SECTION:= @add section@ +PKG_DEPENDS:= @add dependendant package names@ +PKG_URL:= @add project url@ +PKG_SITES:= @add download url without package name@ + +# if downloaded package is not ending with .tar.gz use following +#DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2 + +include $(TOPDIR)/mk/package.mk + +$(eval $(call PKG_template,@UPKG@,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) + +CONFIGURE_STYLE:= gnu +# use following to add ./configure options +#CONFIGURE_ARGS+= --disable-foo +BUILD_STYLE:= auto +INSTALL_STYLE:= auto + +# please install all files and directories to the package dir +post-install: + $(INSTALL_DIR) $(IDIR_@UPKG@)/bin + $(INSTALL_BIN) $(WRKINST)/usr/bin/@PKG@ $(IDIR_@UPKG@)/usr/bin + +include ${TOPDIR}/mk/pkg-bottom.mk -- cgit v1.2.3