diff options
Diffstat (limited to 'target/sdk')
-rw-r--r-- | target/sdk/Config.in | 9 | ||||
-rw-r--r-- | target/sdk/Makefile | 43 | ||||
-rw-r--r-- | target/sdk/files/Makefile.sdk | 42 | ||||
-rw-r--r-- | target/sdk/files/README.SDK | 7 | ||||
-rw-r--r-- | target/sdk/files/depend.mk | 6 |
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 |