summaryrefslogtreecommitdiff
path: root/package/sdk
diff options
context:
space:
mode:
Diffstat (limited to 'package/sdk')
-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
5 files changed, 96 insertions, 0 deletions
diff --git a/package/sdk/Config.in b/package/sdk/Config.in
new file mode 100644
index 0000000000..1b0c7ce586
--- /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 0000000000..b42dda4e42
--- /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 0000000000..d222a3276d
--- /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 0000000000..454e32b2fc
--- /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 0000000000..d7b844db55
--- /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