From 1f20179ce5c9774f17d843070cd39da3f2e62268 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 21 Jun 2006 03:17:13 +0000 Subject: [PATCH] fix and enable the sdk SVN-Revision: 4037 --- openwrt/Config.in | 35 ++++++++++ openwrt/package/Makefile | 5 +- openwrt/target/Makefile | 10 +-- openwrt/target/linux/Config.in | 33 ---------- openwrt/target/sdk/Config.in | 8 +-- openwrt/target/sdk/Makefile | 19 +++--- openwrt/target/sdk/files/Makefile.sdk | 92 +++++++++++++++++---------- openwrt/target/sdk/files/depend.mk | 6 -- 8 files changed, 115 insertions(+), 93 deletions(-) delete mode 100644 openwrt/target/sdk/files/depend.mk diff --git a/openwrt/Config.in b/openwrt/Config.in index 740205e3ec0..74bd6484650 100644 --- a/openwrt/Config.in +++ b/openwrt/Config.in @@ -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" diff --git a/openwrt/package/Makefile b/openwrt/package/Makefile index 2b7f0db7647..e947bcfaeaa 100644 --- a/openwrt/package/Makefile +++ b/openwrt/package/Makefile @@ -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)) diff --git a/openwrt/target/Makefile b/openwrt/target/Makefile index 9205f5b9867..0a1434472a8 100644 --- a/openwrt/target/Makefile +++ b/openwrt/target/Makefile @@ -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-* diff --git a/openwrt/target/linux/Config.in b/openwrt/target/linux/Config.in index 23c96b76df8..71f88d7a527 100644 --- a/openwrt/target/linux/Config.in +++ b/openwrt/target/linux/Config.in @@ -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" diff --git a/openwrt/target/sdk/Config.in b/openwrt/target/sdk/Config.in index 343352ad050..538b473d001 100644 --- a/openwrt/target/sdk/Config.in +++ b/openwrt/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/openwrt/target/sdk/Makefile b/openwrt/target/sdk/Makefile index cfcf8c5e058..01438a6e0d7 100644 --- a/openwrt/target/sdk/Makefile +++ b/openwrt/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/openwrt/target/sdk/files/Makefile.sdk b/openwrt/target/sdk/files/Makefile.sdk index 6d5f61ad111..50723232bc1 100644 --- a/openwrt/target/sdk/files/Makefile.sdk +++ b/openwrt/target/sdk/files/Makefile.sdk @@ -1,42 +1,66 @@ -# OpenWrt SDK Makefile -TOPDIR:=${shell pwd} +# Makefile for OpenWrt +# +# Copyright (C) 2006 by Felix Fietkau +# +# 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 + +include $(TOPDIR)/.version.mk +export OPENWRTVERSION + +DEVELOPER=1 export DEVELOPER -include $(TOPDIR)/rules.mk -include $(TOPDIR)/package/depend.mk +all: world -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) +.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 -all: compile package_index -compile: $(PACKAGES_COMPILE) -clean: $(PACKAGES_CLEAN) - rm -rf $(BUILD_DIR) - rm -rf bin +pkginfo-clean: FORCE + -rm -f .pkginfo .config.in + +package/%: .pkginfo FORCE + $(MAKE) -C package $(patsubst package/%,%,$@) SDK=1 + +download: FORCE + $(MAKE) package/download + +world: FORCE + $(MAKE) package/compile + +clean: FORCE + rm -rf build_* 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 \ - ) + 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 index d7b844db558..00000000000 --- a/openwrt/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