fix and enable the sdk
authorFelix Fietkau <nbd@openwrt.org>
Wed, 21 Jun 2006 03:17:13 +0000 (03:17 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Wed, 21 Jun 2006 03:17:13 +0000 (03:17 +0000)
SVN-Revision: 4037

openwrt/Config.in
openwrt/package/Makefile
openwrt/target/Makefile
openwrt/target/linux/Config.in
openwrt/target/sdk/Config.in
openwrt/target/sdk/Makefile
openwrt/target/sdk/files/Makefile.sdk
openwrt/target/sdk/files/depend.mk [deleted file]

index 740205e3ec0a817c4d5ab7dc47dfb2037ceeef1b..74bd6484650c64add47c9157c9f027447915a0a1 100644 (file)
@@ -40,7 +40,42 @@ config JLEVEL
        help
            Number of jobs to run simultanesouly
 
+source "target/sdk/Config.in"
 source "toolchain/Config.in"
+
+menu "Target Images"
+       config TARGET_ROOTFS_INITRAMFS
+               bool "ramdisk"
+               default n
+               depends LINUX_2_6
+               help
+                 Embed the rootfs into the kernel (initramfs)
+
+       config TARGET_ROOTFS_JFFS2
+               bool "jffs2"
+               default y
+               depends !TARGET_ROOTFS_INITRAMFS
+               help
+                 Build a jffs2 root filesystem
+
+       config TARGET_ROOTFS_SQUASHFS
+               bool "squashfs"
+               default y
+               depends !LINUX_2_6_ARUBA
+               depends !LINUX_2_6_XSCALE
+               depends !TARGET_ROOTFS_INITRAMFS
+               help
+                 Build a squashfs-lzma root filesystem
+
+       config TARGET_ROOTFS_TGZ
+               bool "tgz"
+               default y if !LINUX_2_4_BRCM && !LINUX_2_6_BRCM && !LINUX_2_6_ARUBA && !LINUX_2_4_AR531X
+               depends !TARGET_ROOTFS_INITRAMFS
+               help
+                 Build a compressed tar archive of the the root filesystem
+
+endmenu
+
 source "target/linux/Config.in"
 source ".config.in"
 
index 2b7f0db7647de638b9f944d9b7d6a13430125b32..e947bcfaeaa7edae52b73f2f73ff742d93822ff8 100644 (file)
@@ -27,9 +27,12 @@ $(STAMP_DIR) $(TARGET_DIR):
 %-clean: $(STAMP_DIR) $(TARGET_DIR)
        $(MAKE) -C $(patsubst %-clean,%,$@) clean MAKEFLAGS="$(BUILD_MAKEFLAGS)"
 
+ifeq ($(SDK),1)
+GENDEP_OPTS := -s
+endif
 
 $(TOPDIR)/.pkgdeps: $(TOPDIR)/.pkginfo
-       @$(TOPDIR)/scripts/gen_deps.pl < $< > $@ || rm -f $@
+       @$(TOPDIR)/scripts/gen_deps.pl $(GENDEP_OPTS) < $< > $@ || rm -f $@
 
 all: compile
 clean: $(patsubst %,%-clean,$(package-) $(package-y) $(package-m))
index 9205f5b986767f86ab6726d03cd09ff950c5d95a..0a1434472a8f49a53e986353d697146d8f83f797 100644 (file)
@@ -5,16 +5,18 @@ all: install
 $(BIN_DIR):
        mkdir -p $(BIN_DIR)
 
-TARGETS:=linux utils
+TARGETS-y := linux utils
+TARGETS-$(CONFIG_SDK) += sdk
 
 linux-compile: utils-install
 linux-install: $(BIN_DIR)
+sdk-compile: linux-install
 
-download: $(patsubst %,%-source,$(TARGETS))
+download: $(patsubst %,%-source,$(TARGETS-y))
 prepare: linux-prepare
 compile: linux-compile
-install: image_clean linux-install
-clean: $(patsubst %,%-clean,$(TARGETS)) image_clean
+install: image_clean $(patsubst %,%-install,$(TARGETS-y))
+clean: $(patsubst %,%-clean,$(TARGETS-y)) image_clean
 
 image_clean: FORCE
        rm -f $(BIN_DIR)/openwrt-*
index 23c96b76df855a7747872b402ed75ac5d9e617de..71f88d7a527a36b9c47f778494976a9a067ac0d8 100644 (file)
@@ -1,36 +1,3 @@
-menu "Target Root Filesystem"
-       config TARGET_ROOTFS_INITRAMFS
-               bool "ramdisk"
-               default n
-               depends LINUX_2_6
-               help
-                 Embed the rootfs into the kernel (initramfs)
-
-       config TARGET_ROOTFS_JFFS2
-               bool "jffs2"
-               default y
-               depends !TARGET_ROOTFS_INITRAMFS
-               help
-                 Build a jffs2 root filesystem
-
-       config TARGET_ROOTFS_SQUASHFS
-               bool "squashfs"
-               default y
-               depends !LINUX_2_6_ARUBA
-               depends !LINUX_2_6_XSCALE
-               depends !TARGET_ROOTFS_INITRAMFS
-               help
-                 Build a squashfs-lzma root filesystem
-
-       config TARGET_ROOTFS_TGZ
-               bool "tgz"
-               default y if !LINUX_2_4_BRCM && !LINUX_2_6_BRCM && !LINUX_2_6_ARUBA && !LINUX_2_4_AR531X
-               depends !TARGET_ROOTFS_INITRAMFS
-               help
-                 Build a compressed tar archive of the the root filesystem
-
-endmenu
-
 menu "Kernel Configuration / Device Support"
 
 comment "Device specific configuration"
index 343352ad05006e1cb101ff352a37fbf50eabd1d1..538b473d001c7dea6fef066542268cf82dc3e5df 100644 (file)
@@ -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
 
+
index cfcf8c5e058d8da0a9c86def5a734d4f35afff37..01438a6e0d7510ebbef9dc701e9d12de2ccb4e8b 100644 (file)
@@ -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); \
index 6d5f61ad1118bce69c005504348e56e982f3db50..50723232bc1c526f09db34891c05023081464105 100644 (file)
@@ -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/openwrt/target/sdk/files/depend.mk b/openwrt/target/sdk/files/depend.mk
deleted file mode 100644 (file)
index d7b844d..0000000
+++ /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