diff options
Diffstat (limited to 'target/sdk')
| -rw-r--r-- | target/sdk/Config.in | 8 | ||||
| -rw-r--r-- | target/sdk/Makefile | 19 | ||||
| -rw-r--r-- | target/sdk/files/Makefile.sdk | 86 | ||||
| -rw-r--r-- | target/sdk/files/depend.mk | 6 | 
4 files changed, 67 insertions, 52 deletions
diff --git a/target/sdk/Config.in b/target/sdk/Config.in index 343352ad0..538b473d0 100644 --- a/target/sdk/Config.in +++ b/target/sdk/Config.in @@ -1,9 +1,9 @@ -config PACKAGE_SDK -	bool "OpenWrt SDK" -	default y if DEVEL +config SDK +	bool "Build the OpenWrt SDK" +	default n  	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 index cfcf8c5e0..01438a6e0 100644 --- a/target/sdk/Makefile +++ b/target/sdk/Makefile @@ -1,33 +1,30 @@  # $Id$  include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.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_NAME:=OpenWrt-SDK-$(BOARD)-$(KERNEL)-for-$(PKG_OS)-$(PKG_CPU)  SDK_BUILD_DIR:=$(BUILD_DIR)/$(SDK_NAME)  all: compile  $(BIN_DIR)/$(SDK_NAME).tar.bz2:  	(cd $(STAGING_DIR); \ -		rm -rf info man share; \ +		rm -rf info man share stampfiles; \  		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)/ +	mkdir -p $(SDK_BUILD_DIR)/dl $(SDK_BUILD_DIR)/package +	$(CP) $(STAGING_DIR) $(INCLUDE_DIR) $(SCRIPT_DIR) $(TOPDIR)/docs $(SDK_BUILD_DIR)/ +	$(CP) $(TOPDIR)/rules.mk $(TOPDIR)/.config $(SDK_BUILD_DIR)/ +	$(CP) $(TOPDIR)/package/Makefile $(SDK_BUILD_DIR)/package/  	$(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 '^CONFIG_(ARCH|WGET|STAGING|JLEVEL|LARGEFILE|TARGET_OPT)' $(TOPDIR)/.config > $(SDK_BUILD_DIR)/.config +	echo OPENWRTVERSION:=$(OPENWRTVERSION) > $(SDK_BUILD_DIR)/.version.mk  	find $(SDK_BUILD_DIR) -name .svn | xargs rm -rf   	find $(SDK_BUILD_DIR) -name CVS | xargs rm -rf   	(cd $(BUILD_DIR); \ diff --git a/target/sdk/files/Makefile.sdk b/target/sdk/files/Makefile.sdk index 6d5f61ad1..50723232b 100644 --- a/target/sdk/files/Makefile.sdk +++ b/target/sdk/files/Makefile.sdk @@ -1,42 +1,66 @@ -# OpenWrt SDK Makefile -TOPDIR:=${shell pwd} +# Makefile for OpenWrt +# +# Copyright (C) 2006 by Felix Fietkau <openwrt@nbd.name> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +RELEASE:=Kamikaze +#VERSION:=2.0 # uncomment for final release + +#-------------------------------------------------------------- +# Just run 'make menuconfig', configure stuff, then run 'make'. +# You shouldn't need to mess with anything beyond this point... +#-------------------------------------------------------------- +TOPDIR=${shell pwd}  export TOPDIR -DEVELOPER:=1 -export DEVELOPER -include $(TOPDIR)/rules.mk -include $(TOPDIR)/package/depend.mk +include $(TOPDIR)/.version.mk +export OPENWRTVERSION -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) +DEVELOPER=1 +export DEVELOPER -all: compile package_index -compile: $(PACKAGES_COMPILE) -clean: $(PACKAGES_CLEAN) -	rm -rf $(BUILD_DIR) -	rm -rf bin +all: world -distclean: clean -	rm -rf $(DL_DIR) +.pkginfo: FORCE +ifneq ($(shell ./scripts/timestamp.pl -p .pkginfo package Makefile),.pkginfo) +	@echo Collecting package info... +	@-for dir in package/*/; do \ +		echo Source-Makefile: $${dir}Makefile; \ +		$(MAKE) --no-print-dir DUMP=1 -C $$dir 2>&- || true; \ +	done > $@ +endif + +pkginfo-clean: FORCE +	-rm -f .pkginfo .config.in -%-prepare: $(BUILD_DIR) -	@$(MAKE) -C package/$(patsubst %-prepare,%,$@) prepare +package/%: .pkginfo FORCE +	$(MAKE) -C package $(patsubst package/%,%,$@) SDK=1 -%-compile: %-prepare  -	@$(MAKE) -C package/$(patsubst %-compile,%,$@) compile +download: FORCE +	$(MAKE) package/download -%-clean: -	@$(MAKE) -C package/$(patsubst %-clean,%,$@) clean +world: FORCE +	$(MAKE) package/compile +clean: FORCE +	rm -rf build_* bin -$(BUILD_DIR): -	mkdir -p $@ -	mkdir -p $(DL_DIR) -	 -package_index: -	(cd $(PACKAGE_DIR); \ -		$(STAGING_DIR)/usr/bin/ipkg-make-index . > Packages \ -	) +distclean: clean +	rm -rf dl .pkg* +.PHONY: FORCE +FORCE: diff --git a/target/sdk/files/depend.mk b/target/sdk/files/depend.mk deleted file mode 100644 index d7b844db5..000000000 --- a/target/sdk/files/depend.mk +++ /dev/null @@ -1,6 +0,0 @@ -# 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  | 
