summaryrefslogtreecommitdiffstats
path: root/target/sdk
diff options
context:
space:
mode:
Diffstat (limited to 'target/sdk')
-rw-r--r--target/sdk/Config.in8
-rw-r--r--target/sdk/Makefile19
-rw-r--r--target/sdk/files/Makefile.sdk86
-rw-r--r--target/sdk/files/depend.mk6
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