summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile6
-rw-r--r--TODO2
-rw-r--r--mk/build.mk13
-rw-r--r--package/template/Makefile34
4 files changed, 53 insertions, 2 deletions
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 42f8db051..495077b3a 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -145,8 +145,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/%,%,$@)
@@ -176,6 +178,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