add openwrt sdk
authorFelix Fietkau <nbd@openwrt.org>
Sun, 10 Apr 2005 20:28:17 +0000 (20:28 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sun, 10 Apr 2005 20:28:17 +0000 (20:28 +0000)
SVN-Revision: 613

openwrt/package/Config.in
openwrt/package/Makefile
openwrt/package/sdk/Config.in [new file with mode: 0644]
openwrt/package/sdk/Makefile [new file with mode: 0644]
openwrt/package/sdk/files/Makefile.sdk [new file with mode: 0644]
openwrt/package/sdk/files/README.SDK [new file with mode: 0644]
openwrt/package/sdk/files/depend.mk [new file with mode: 0644]

index b5fe1d261f8c525ec827c1783dfbfe9256a332f6..dfb87ce1b5c1e129526a6cebdf3dda4b0568c115 100644 (file)
@@ -68,6 +68,9 @@ source "package/postgresql/Config.in"
 source "package/fuse/Config.in"
 source "package/speex/Config.in"
 
+comment "Extra stuff"
+source "package/sdk/Config.in"
+
 endmenu
 
 menu "Kernel Configuration"
index 23fefcd0ccc3e43922149d854cf0ed9753368659..9259e4c3345f911cc98233811cb8acccd7791dd9 100644 (file)
@@ -47,6 +47,7 @@ package-$(BR2_PACKAGE_PPTP) += pptp
 package-$(BR2_PACKAGE_PPTPD) += pptpd
 package-$(BR2_PACKAGE_QUAGGA) += quagga
 package-$(BR2_PACKAGE_RADVD) += radvd
+package-$(BR2_PACKAGE_SDK) += sdk
 package-$(BR2_PACKAGE_SER) += ser
 package-$(BR2_PACKAGE_SETSERIAL) += setserial
 package-$(BR2_PACKAGE_SHFS) += shfs
@@ -62,6 +63,9 @@ package-$(BR2_PACKAGE_LIBMYSQLCLIENT) += mysql
 package-$(BR2_PACKAGE_LIBPCAP) += libpcap
 package-$(BR2_PACKAGE_LIBPQ) += postgresql
 
+DEV_LIBS:=tcp_wrappers glib ncurses openssl pcre popt zlib libnet libpcap mysql postgresql iptables matrixssl lzo gmp fuse portmap libelf
+DEV_LIBS_COMPILE:=$(patsubst %,%-compile,$(DEV_LIBS))
+
 all: compile install
 clean: $(patsubst %,%-clean,$(package-) $(package-y) $(package-m)) linux-clean
 compile: $(patsubst %,%-compile,$(package-y) $(package-m))
@@ -79,7 +83,6 @@ endif
 ifneq ($(BR2_PACKAGE_ASTERISK_MYSQL),)
 asterisk-compile: mysql-compile
 endif
-
 openswan-compile: gmp-compile
 nocatsplash-compile: glib-compile
 arpwatch-compile: libpcap-compile
@@ -94,6 +97,7 @@ libnet-compile: libpcap-compile
 mysql-compile: ncurses-compile zlib-compile
 postgresql-compile: zlib-compile
 
+sdk-compile: $(DEV_LIBS_COMPILE)
 $(patsubst %,%-prepare,$(package-y) $(package-m) $(package-)): linux-install
 
 %-prepare:
diff --git a/openwrt/package/sdk/Config.in b/openwrt/package/sdk/Config.in
new file mode 100644 (file)
index 0000000..1b0c7ce
--- /dev/null
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_SDK
+       bool "OpenWrt SDK"
+       default y
+       help
+         Build an OpenWrt SDK.
+         This is essentially a stripped-down version of the buildroot
+         with a precompiled toolchain. It can be used to develop and
+         test packages for OpenWrt before including them in the buildroot
diff --git a/openwrt/package/sdk/Makefile b/openwrt/package/sdk/Makefile
new file mode 100644 (file)
index 0000000..b42dda4
--- /dev/null
@@ -0,0 +1,41 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_OS:=$(shell uname -s)
+PKG_CPU:=$(shell uname -m)
+
+PKG_RELEASE:=1
+PKG_NAME:=OpenWrt-SDK-$(PKG_OS)-$(PKG_CPU)-$(PKG_RELEASE)
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
+
+all: compile
+
+$(BIN_DIR)/$(PKG_NAME).tar.bz2:
+       (cd $(STAGING_DIR); \
+               rm -rf info man share; \
+               cd usr; \
+               rm -rf doc info man share; \
+       )
+       rm -rf $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_BUILD_DIR)/dl $(PKG_BUILD_DIR)/examples $(PKG_BUILD_DIR)/package
+       cp -a $(STAGING_DIR) $(SCRIPT_DIR) $(TOPDIR)/docs $(PKG_BUILD_DIR)/
+       cp -a $(TOPDIR)/package/strace $(TOPDIR)/package/iproute2 $(PKG_BUILD_DIR)/examples
+       cp $(TOPDIR)/rules.mk $(PKG_BUILD_DIR)/
+       cp ./files/Makefile.sdk $(PKG_BUILD_DIR)/Makefile
+       cp ./files/README.SDK $(PKG_BUILD_DIR)/
+       cp ./files/depend.mk $(PKG_BUILD_DIR)/package/
+       egrep '^BR2_(ARCH|WGET|STAGING|JLEVEL|LARGEFILE|TARGET_OPT)' $(TOPDIR)/.config > $(PKG_BUILD_DIR)/.config
+       find $(PKG_BUILD_DIR) -name CVS | xargs rm -rf 
+       (cd $(BUILD_DIR); \
+               tar cfj $@ $(PKG_NAME); \
+       )
+
+source:
+prepare:
+compile: $(BIN_DIR)/$(PKG_NAME).tar.bz2
+install:
+
+clean:
+       rm -rf $(PKG_BUILD_DIR)
diff --git a/openwrt/package/sdk/files/Makefile.sdk b/openwrt/package/sdk/files/Makefile.sdk
new file mode 100644 (file)
index 0000000..d222a32
--- /dev/null
@@ -0,0 +1,34 @@
+# OpenWrt SDK Makefile
+TOPDIR:=${shell pwd}
+export TOPDIR
+
+include $(TOPDIR)/rules.mk
+include $(TOPDIR)/package/depend.mk
+
+PACKAGES:=$(filter-out %.mk,$(shell ls $(TOPDIR)/package))
+PACKAGES_PREPARE:=$(foreach package,$(PACKAGES),$(package)-prepare)
+PACKAGES_COMPILE:=$(foreach package,$(PACKAGES),$(package)-compile)
+PACKAGES_CLEAN:=$(foreach package,$(PACKAGES),$(package)-clean)
+
+all: compile
+compile: $(PACKAGES_COMPILE)
+clean: $(PACKAGES_CLEAN)
+       rm -rf $(BUILD_DIR)
+       rm -rf bin
+
+distclean: clean
+       rm -rf $(DL_DIR)
+
+%-prepare: $(BUILD_DIR)
+       @$(MAKE) -C package/$(patsubst %-prepare,%,$@) prepare
+
+%-compile: %-prepare 
+       @$(MAKE) -C package/$(patsubst %-compile,%,$@) compile
+
+%-clean:
+       @$(MAKE) -C package/$(patsubst %-clean,%,$@) clean
+
+
+$(BUILD_DIR):
+       mkdir -p $@
+       mkdir -p $(DL_DIR)
diff --git a/openwrt/package/sdk/files/README.SDK b/openwrt/package/sdk/files/README.SDK
new file mode 100644 (file)
index 0000000..454e32b
--- /dev/null
@@ -0,0 +1,7 @@
+This is the OpenWrt SDK. It contains a stripped-down version of
+the buildroot. You can use it to test/develop packages without
+having to compile your own toolchain or any of the libraries
+included with OpenWrt.
+
+To use it, just put your buildroot-compatible package directory
+in the subdir 'package/' and run 'make' from this directory.
diff --git a/openwrt/package/sdk/files/depend.mk b/openwrt/package/sdk/files/depend.mk
new file mode 100644 (file)
index 0000000..d7b844d
--- /dev/null
@@ -0,0 +1,6 @@
+# You can put your package dependencies in here
+# Example (make openvpn depend on openssl):
+#      openvpn-compile: openssl-compile
+#
+# Note: This file is not present in the full buildroot. There you
+# have to put your package dependencies in buildroot/package/Makefile