fix and enable the sdk

SVN-Revision: 4037
lede-17.01
Felix Fietkau 2006-06-21 03:17:13 +00:00
parent 6449bbd082
commit 1f20179ce5
8 changed files with 115 additions and 93 deletions

View 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"

View 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))

View 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-*

View 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"

View 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

View 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); \

View 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
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:

View File

@ -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