summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-04-10 20:28:17 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-04-10 20:28:17 +0000
commit62f204e188672e6a63b19b6994d230da5c019953 (patch)
tree5420e9c36fb53a820ca3cba54163e024835e94af
parentafbd9dd3c0897dc6ba5a92daad53e779523364d3 (diff)
add openwrt sdk
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@613 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/Config.in3
-rw-r--r--package/Makefile6
-rw-r--r--package/sdk/Config.in8
-rw-r--r--package/sdk/Makefile41
-rw-r--r--package/sdk/files/Makefile.sdk34
-rw-r--r--package/sdk/files/README.SDK7
-rw-r--r--package/sdk/files/depend.mk6
7 files changed, 104 insertions, 1 deletions
diff --git a/package/Config.in b/package/Config.in
index b5fe1d261..dfb87ce1b 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/Makefile b/package/Makefile
index 23fefcd0c..9259e4c33 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -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/package/sdk/Config.in b/package/sdk/Config.in
new file mode 100644
index 000000000..1b0c7ce58
--- /dev/null
+++ b/package/sdk/Config.in
@@ -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/package/sdk/Makefile b/package/sdk/Makefile
new file mode 100644
index 000000000..b42dda4e4
--- /dev/null
+++ b/package/sdk/Makefile
@@ -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/package/sdk/files/Makefile.sdk b/package/sdk/files/Makefile.sdk
new file mode 100644
index 000000000..d222a3276
--- /dev/null
+++ b/package/sdk/files/Makefile.sdk
@@ -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/package/sdk/files/README.SDK b/package/sdk/files/README.SDK
new file mode 100644
index 000000000..454e32b2f
--- /dev/null
+++ b/package/sdk/files/README.SDK
@@ -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/package/sdk/files/depend.mk b/package/sdk/files/depend.mk
new file mode 100644
index 000000000..d7b844db5
--- /dev/null
+++ b/package/sdk/files/depend.mk
@@ -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