aboutsummaryrefslogtreecommitdiffstats
path: root/target/sdk
diff options
context:
space:
mode:
Diffstat (limited to 'target/sdk')
-rw-r--r--target/sdk/Config.in9
-rw-r--r--target/sdk/Makefile43
-rw-r--r--target/sdk/files/Makefile.sdk42
-rw-r--r--target/sdk/files/README.SDK7
-rw-r--r--target/sdk/files/depend.mk6
5 files changed, 107 insertions, 0 deletions
diff --git a/target/sdk/Config.in b/target/sdk/Config.in
new file mode 100644
index 0000000000..f70810ba02
--- /dev/null
+++ b/target/sdk/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_SDK
+ bool "OpenWrt SDK"
+ default y if CONFIG_DEVEL
+ 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/target/sdk/Makefile b/target/sdk/Makefile
new file mode 100644
index 0000000000..3f62aec115
--- /dev/null
+++ b/target/sdk/Makefile
@@ -0,0 +1,43 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_OS:=$(shell uname -s)
+PKG_CPU:=$(shell uname -m)
+
+PKG_RELEASE:=1
+SDK_NAME:=OpenWrt-SDK-$(PKG_OS)-$(PKG_CPU)-$(PKG_RELEASE)
+
+SDK_BUILD_DIR:=$(BUILD_DIR)/$(SDK_NAME)
+
+all: compile
+
+$(BIN_DIR)/$(SDK_NAME).tar.bz2:
+ (cd $(STAGING_DIR); \
+ rm -rf info man share; \
+ cd usr; \
+ rm -rf doc info man share; \
+ )
+ rm -rf $(SDK_BUILD_DIR)
+ mkdir -p $(SDK_BUILD_DIR)/dl $(SDK_BUILD_DIR)/examples $(SDK_BUILD_DIR)/package
+ $(CP) $(STAGING_DIR) $(SCRIPT_DIR) $(TOPDIR)/docs $(SDK_BUILD_DIR)/
+ $(CP) $(TOPDIR)/package/strace $(TOPDIR)/package/iproute2 $(SDK_BUILD_DIR)/examples
+ $(CP) $(TOPDIR)/rules.mk $(SDK_BUILD_DIR)/
+ $(CP) ./files/Makefile.sdk $(SDK_BUILD_DIR)/Makefile
+ $(CP) ./files/README.SDK $(SDK_BUILD_DIR)/
+ $(CP) ./files/depend.mk $(SDK_BUILD_DIR)/package/
+ $(CP) $(TOPDIR)/package/rules.mk $(SDK_BUILD_DIR)/package/
+ egrep '^BR2_(ARCH|WGET|STAGING|JLEVEL|LARGEFILE|TARGET_OPT)' $(TOPDIR)/.config > $(SDK_BUILD_DIR)/.config
+ find $(SDK_BUILD_DIR) -name .svn | xargs rm -rf
+ find $(SDK_BUILD_DIR) -name CVS | xargs rm -rf
+ (cd $(BUILD_DIR); \
+ tar cfj $@ $(SDK_NAME); \
+ )
+
+source:
+prepare:
+compile: $(BIN_DIR)/$(SDK_NAME).tar.bz2
+install:
+
+clean:
+ rm -rf $(SDK_BUILD_DIR) $(BIN_DIR)/$(SDK_NAME).tar.bz2
diff --git a/target/sdk/files/Makefile.sdk b/target/sdk/files/Makefile.sdk
new file mode 100644
index 0000000000..6d5f61ad11
--- /dev/null
+++ b/target/sdk/files/Makefile.sdk
@@ -0,0 +1,42 @@
+# OpenWrt SDK Makefile
+TOPDIR:=${shell pwd}
+export TOPDIR
+DEVELOPER:=1
+export DEVELOPER
+
+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 package_index
+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)
+
+package_index:
+ (cd $(PACKAGE_DIR); \
+ $(STAGING_DIR)/usr/bin/ipkg-make-index . > Packages \
+ )
+
diff --git a/target/sdk/files/README.SDK b/target/sdk/files/README.SDK
new file mode 100644
index 0000000000..454e32b2fc
--- /dev/null
+++ b/target/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/target/sdk/files/depend.mk b/target/sdk/files/depend.mk
new file mode 100644
index 0000000000..d7b844db55
--- /dev/null
+++ b/target/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