large build system cleanup. added some stuff to control the verbosity level, but not complete, yet.

SVN-Revision: 2221
This commit is contained in:
Felix Fietkau 2005-10-22 00:06:20 +00:00
parent 196076cf2f
commit 35d1297447
20 changed files with 135 additions and 121 deletions

View file

@ -84,10 +84,6 @@ config BR2_TAR_VERBOSITY
bool bool
default n default n
config BR2_STAGING_DIR
string
default "$(BASE_DIR)/staging_dir_$(ARCH)$(ARCH_FPU_SUFFIX)"
config BR2_JLEVEL config BR2_JLEVEL
int int
default "1" default "1"

View file

@ -1,4 +1,4 @@
# Makefile for OpenWRT # Makefile for OpenWrt
# #
# Copyright (C) 2005 by Felix Fietkau <openwrt@nbd.name> # Copyright (C) 2005 by Felix Fietkau <openwrt@nbd.name>
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org> # Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
@ -24,6 +24,7 @@
#-------------------------------------------------------------- #--------------------------------------------------------------
TOPDIR=${shell pwd} TOPDIR=${shell pwd}
export TOPDIR export TOPDIR
ifneq ($(DEVELOPER),) ifneq ($(DEVELOPER),)
CONFIG_CONFIG_IN = Config.in.devel CONFIG_CONFIG_IN = Config.in.devel
else else
@ -57,7 +58,8 @@ all: world
# In this section, we need .config # In this section, we need .config
include .config.cmd include .config.cmd
world: $(DL_DIR) $(BUILD_DIR) configtest toolchain/install target/compile package/compile target/install package_index world: $(DL_DIR) $(BUILD_DIR) configtest
$(MAKE) toolchain/install target/compile package/compile root_clean package/install target/install package_index
.PHONY: all world clean dirclean distclean image_clean target_clean source configtest .PHONY: all world clean dirclean distclean image_clean target_clean source configtest
@ -66,9 +68,7 @@ configtest:
-scripts/configtest.pl -scripts/configtest.pl
package_index: package_index:
(cd $(PACKAGE_DIR); \ (cd $(PACKAGE_DIR); $(STAGING_DIR)/usr/bin/ipkg-make-index . > Packages)
$(STAGING_DIR)/usr/bin/ipkg-make-index . > Packages \
)
$(DL_DIR): $(DL_DIR):
@mkdir -p $(DL_DIR) @mkdir -p $(DL_DIR)
@ -76,16 +76,18 @@ $(DL_DIR):
$(BUILD_DIR): $(BUILD_DIR):
@mkdir -p $(BUILD_DIR) @mkdir -p $(BUILD_DIR)
source: $(TARGETS_SOURCE) source: toolchain/source package/source target/source
package/%: package/%:
@$(TRACE) $@
$(MAKE) -C package $(patsubst package/%,%,$@) $(MAKE) -C package $(patsubst package/%,%,$@)
target/%: target/%:
@$(TRACE) $@
$(MAKE) -C target $(patsubst target/%,%,$@) $(MAKE) -C target $(patsubst target/%,%,$@)
toolchain/%: toolchain/%:
@$(TRACE) $@
$(MAKE) -C toolchain $(patsubst toolchain/%,%,$@) $(MAKE) -C toolchain $(patsubst toolchain/%,%,$@)
############################################################# #############################################################
@ -93,31 +95,24 @@ toolchain/%:
# Cleanup and misc junk # Cleanup and misc junk
# #
############################################################# #############################################################
image_clean: root_clean:
rm -rf $(BUILD_DIR)/linux-*/root $(BUILD_DIR)/root
target_clean: root_clean
rm -f $(STAMP_DIR)/.*-compile rm -f $(STAMP_DIR)/.*-compile
rm -f $(STAMP_DIR)/.*-install rm -f $(STAMP_DIR)/.*-install
rm -rf $(BIN_DIR) rm -rf $(BIN_DIR)
target_clean: image_clean clean: dirclean
rm -rf $(BUILD_DIR)/linux-*/root
clean: target_clean dirclean:
@$(MAKE) -C $(CONFIG) clean @$(MAKE) -C $(CONFIG) clean
dirclean: clean
rm -rf $(BUILD_DIR) rm -rf $(BUILD_DIR)
distclean: clean distclean: dirclean
rm -rf $(STAMP_DIR) $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR) $(STAGING_DIR) rm -rf $(STAMP_DIR) $(DL_DIR) $(TOOL_BUILD_DIR) $(STAGING_DIR)
rm -f .config* .tmpconfig.h rm -f .config* .tmpconfig.h
sourceball: distclean
set -e; \
cd ..; \
rm -f buildroot.tar.bz2; \
tar -cvf buildroot.tar buildroot; \
bzip2 -9 buildroot.tar; \
else # ifeq ($(strip $(BR2_HAVE_DOT_CONFIG)),y) else # ifeq ($(strip $(BR2_HAVE_DOT_CONFIG)),y)
all: menuconfig all: menuconfig

View file

@ -9,6 +9,7 @@ source "package/dnsmasq/Config.in"
source "package/ipkg/Config.in" source "package/ipkg/Config.in"
source "package/iptables/Config.in" source "package/iptables/Config.in"
source "package/mtd/Config.in" source "package/mtd/Config.in"
source "package/nvram/Config.in"
comment "Applications" comment "Applications"
source "package/deco/Config.in" source "package/deco/Config.in"

View file

@ -2,7 +2,6 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
package-:=tcp_wrappers package-:=tcp_wrappers
package-y:=nvram
package-$(BR2_PACKAGE_6TUNNEL) += 6tunnel package-$(BR2_PACKAGE_6TUNNEL) += 6tunnel
package-$(BR2_PACKAGE_AICCU) += aiccu package-$(BR2_PACKAGE_AICCU) += aiccu
package-$(BR2_PACKAGE_AIRCRACK) += aircrack package-$(BR2_PACKAGE_AIRCRACK) += aircrack
@ -125,6 +124,7 @@ package-$(BR2_PACKAGE_NFS_SERVER) += nfs-server
package-$(BR2_PACKAGE_NMAP) += nmap package-$(BR2_PACKAGE_NMAP) += nmap
package-$(BR2_PACKAGE_NOCATSPLASH) += nocatsplash package-$(BR2_PACKAGE_NOCATSPLASH) += nocatsplash
package-$(BR2_PACKAGE_NTPCLIENT) += ntpclient package-$(BR2_PACKAGE_NTPCLIENT) += ntpclient
package-$(BR2_PACKAGE_NVRAM) += nvram
package-$(BR2_PACKAGE_OLSRD) += olsrd package-$(BR2_PACKAGE_OLSRD) += olsrd
package-$(BR2_PACKAGE_OPENCDK) += opencdk package-$(BR2_PACKAGE_OPENCDK) += opencdk
package-$(BR2_PACKAGE_OPENLDAP) += openldap package-$(BR2_PACKAGE_OPENLDAP) += openldap
@ -206,7 +206,7 @@ package-$(BR2_PACKAGE_XINETD) += xinetd
package-$(BR2_PACKAGE_XSUPPLICANT) += xsupplicant package-$(BR2_PACKAGE_XSUPPLICANT) += xsupplicant
package-$(BR2_PACKAGE_ZLIB) += zlib package-$(BR2_PACKAGE_ZLIB) += zlib
DEV_LIBS:=tcp_wrappers glib ncurses openssl pcre popt zlib libnet libpcap mysql postgresql iptables matrixssl lzo gmp fuse portmap libelf uclibc++ speex libpng libgd wireless-tools nvram linux-atm DEV_LIBS:=tcp_wrappers glib ncurses openssl pcre popt zlib libnet libpcap mysql postgresql iptables matrixssl lzo gmp fuse portmap libelf uclibc++ speex libpng libgd wireless-tools nvram linux-atm libamsel libao libart libdaemon libdb libdnet libevent libffi-sable libgcrypt libgdbm libgpg-error libid3tag libmad libnet libnids libogg libosip2 libpcap libtasn1 libupnp libusb libvorbis libvorbisidec libxml2 libxslt
DEV_LIBS_COMPILE:=$(patsubst %,%-compile,$(DEV_LIBS)) DEV_LIBS_COMPILE:=$(patsubst %,%-compile,$(DEV_LIBS))
SDK_DEFAULT_PACKAGES:=busybox dnsmasq iptables wireless-tools dropbear bridge ipkg ppp SDK_DEFAULT_PACKAGES:=busybox dnsmasq iptables wireless-tools dropbear bridge ipkg ppp
SDK_DEFAULT_COMPILE:=$(patsubst %,%-compile,$(SDK_DEFAULT_PACKAGES)) SDK_DEFAULT_COMPILE:=$(patsubst %,%-compile,$(SDK_DEFAULT_PACKAGES))
@ -437,27 +437,34 @@ sdk-compile: $(DEV_LIBS_COMPILE) $(SDK_DEFAULT_COMPILE)
$(STAMP_DIR): $(STAMP_DIR):
mkdir -p $@ mkdir -p $@
%-prepare: $(STAMP_DIR) $(TARGET_DIR):
@[ -f $(STAMP_DIR)/.$@ ] || $(MAKE) -C $(patsubst %-prepare,%,$@) prepare mkdir -p $(TARGET_DIR)
%-prepare: $(STAMP_DIR) $(TARGET_DIR)
@[ -f $(STAMP_DIR)/.$@ ] || { \
$(TRACE) package/$(patsubst %-prepare,%,$@)/prepare; \
$(MAKE) -C $(patsubst %-prepare,%,$@) prepare; \
}
@touch $(STAMP_DIR)/.$@ @touch $(STAMP_DIR)/.$@
%-compile: %-prepare %-compile: %-prepare
@[ -f $(STAMP_DIR)/.$@ ] || $(MAKE) -C $(patsubst %-compile,%,$@) compile @[ -f $(STAMP_DIR)/.$@ ] || { \
$(TRACE) package/$(patsubst %-compile,%,$@)/compile; \
$(MAKE) -C $(patsubst %-compile,%,$@) compile; \
}
@touch $(STAMP_DIR)/.$@ @touch $(STAMP_DIR)/.$@
%-install: %-compile %-install: %-compile
@$(MAKE) -C $(patsubst %-install,%,$@) \ @$(TRACE) package/$(patsubst %-install,%,$@)/install
TARGET_DIR="$(TARGET_DIR)" \ @$(MAKE) -C $(patsubst %-install,%,$@) install
IPKG_CONF="$(IPKG_CONF)" \
BOARD="$(BOARD)" \
KERNEL="$(KERNEL)" \
install
%-rebuild: %-rebuild:
@$(TRACE) package/$(patsubst %-rebuild,%,$@)/rebuild
@rm -f $(STAMP_DIR)/.$(patsubst %-rebuild,%,$@)-* @rm -f $(STAMP_DIR)/.$(patsubst %-rebuild,%,$@)-*
$(MAKE) -C $(patsubst %-rebuild,%,$@) rebuild $(MAKE) -C $(patsubst %-rebuild,%,$@) rebuild
%-clean: %-clean:
@$(TRACE) package/$(patsubst %-clean,%,$@)/clean
@$(MAKE) -C $(patsubst %-clean,%,$@) clean @$(MAKE) -C $(patsubst %-clean,%,$@) clean
@rm -f $(STAMP_DIR)/.$(patsubst %-clean,%,$@)-* @rm -f $(STAMP_DIR)/.$(patsubst %-clean,%,$@)-*

View file

@ -0,0 +1,7 @@
config BR2_PACKAGE_NVRAM
tristate "nvram - broadcom config utility"
default y
depends BR2_LINUX_2_4_BRCM
help
control utility for broadcom's 'nvram' config area

View file

@ -9,13 +9,6 @@ PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
include $(TOPDIR)/package/rules.mk include $(TOPDIR)/package/rules.mk
# does not depend on menuconfig
ifneq ($(BOARD)-$(KERNEL),brcm-2.4)
BR2_PACKAGE_NVRAM:=m
else
BR2_PACKAGE_NVRAM:=y
endif
$(eval $(call PKG_template,NVRAM,nvram,$(PKG_RELEASE),$(ARCH))) $(eval $(call PKG_template,NVRAM,nvram,$(PKG_RELEASE),$(ARCH)))
$(PKG_BUILD_DIR)/.prepared: $(PKG_BUILD_DIR)/.prepared:

View file

@ -1,6 +1,4 @@
# invoke ipkg with configuration in $(STAGING_DIR)/etc/ipkg.conf # invoke ipkg with configuration in $(STAGING_DIR)/etc/ipkg.conf
IPKG := IPKG_INSTROOT=$(TARGET_DIR) IPKG_CONF_DIR=$(IPKG_CONF) $(SCRIPT_DIR)/ipkg -force-defaults -force-depends
IPKG_STATE_DIR := $(TARGET_DIR)/usr/lib/ipkg
define PKG_template define PKG_template
IPKG_$(1):=$(PACKAGE_DIR)/$(2)_$(3)_$(4).ipk IPKG_$(1):=$(PACKAGE_DIR)/$(2)_$(3)_$(4).ipk

View file

@ -2,21 +2,41 @@ include $(TOPDIR)/.config
SHELL=/bin/bash SHELL=/bin/bash
export SHELL export SHELL
MAKE1=make ifeq ($(V),)
MAKEFLAGS=-j$(BR2_JLEVEL) V=99
endif
ifneq ($(V),0)
TRACE:=echo "---> "
else
TRACE:=:
endif
ifeq (${shell [ "$(V)" -ge 5 ] && echo 1},)
PKG_TRACE:=:
else
PKG_TRACE:=echo "------> "
endif
ifeq (${shell [ "$(V)" -ge 10 ] && echo 1},)
EXTRA_MAKEFLAGS:=-s
MAKE_TRACE:=>&/dev/null
else
MAKE_TRACE:=
EXTRA_MAKEFLAGS:=
TRACE:=:
PKG_TRACE:=:
endif
MAKE1=make
MAKEFLAGS=-j$(BR2_JLEVEL) V=$(V) $(EXTRA_MAKEFLAGS)
# Strip off the annoying quoting # Strip off the annoying quoting
ARCH:=$(strip $(subst ",, $(BR2_ARCH))) ARCH:=$(strip $(subst ",, $(BR2_ARCH)))
#"
WGET:=$(strip $(subst ",, $(BR2_WGET))) WGET:=$(strip $(subst ",, $(BR2_WGET)))
#"
GCC_VERSION:=$(strip $(subst ",, $(BR2_GCC_VERSION))) GCC_VERSION:=$(strip $(subst ",, $(BR2_GCC_VERSION)))
#"
GCC_USE_SJLJ_EXCEPTIONS:=$(strip $(subst ",, $(BR2_GCC_USE_SJLJ_EXCEPTIONS))) GCC_USE_SJLJ_EXCEPTIONS:=$(strip $(subst ",, $(BR2_GCC_USE_SJLJ_EXCEPTIONS)))
#"
TARGET_OPTIMIZATION:=$(strip $(subst ",, $(BR2_TARGET_OPTIMIZATION))) TARGET_OPTIMIZATION:=$(strip $(subst ",, $(BR2_TARGET_OPTIMIZATION)))
#"" #"))"))"))"))")) # for vim's broken syntax highlighting :)
ifeq ($(BR2_SOFT_FLOAT),y) ifeq ($(BR2_SOFT_FLOAT),y)
@ -51,15 +71,14 @@ HOSTCC:=gcc
BASE_DIR:=$(TOPDIR) BASE_DIR:=$(TOPDIR)
DL_DIR:=$(BASE_DIR)/dl DL_DIR:=$(BASE_DIR)/dl
BUILD_DIR:=$(BASE_DIR)/build_$(ARCH)$(ARCH_FPU_SUFFIX) BUILD_DIR:=$(BASE_DIR)/build_$(ARCH)$(ARCH_FPU_SUFFIX)
STAGING_DIR:=$(BASE_DIR)/staging_dir_$(ARCH)$(ARCH_FPU_SUFFIX)
SCRIPT_DIR:=$(BASE_DIR)/scripts SCRIPT_DIR:=$(BASE_DIR)/scripts
BIN_DIR:=$(BASE_DIR)/bin BIN_DIR:=$(BASE_DIR)/bin
STAMP_DIR:=$(BUILD_DIR)/stamp STAMP_DIR:=$(BUILD_DIR)/stamp
PACKAGE_DIR:=$(BIN_DIR)/packages PACKAGE_DIR:=$(BIN_DIR)/packages
STAMP_DIR:=$(BUILD_DIR)/stamp STAMP_DIR:=$(BUILD_DIR)/stamp
TARGET_DIR:=$(BUILD_DIR)/root
TOOL_BUILD_DIR=$(BASE_DIR)/toolchain_build_$(ARCH)$(ARCH_FPU_SUFFIX) TOOL_BUILD_DIR=$(BASE_DIR)/toolchain_build_$(ARCH)$(ARCH_FPU_SUFFIX)
# Strip off the annoying quoting
STAGING_DIR:=$(strip $(subst ",, $(BR2_STAGING_DIR)))
#"
TARGET_PATH=$(STAGING_DIR)/usr/bin:$(STAGING_DIR)/bin:/bin:/sbin:/usr/bin:/usr/sbin TARGET_PATH=$(STAGING_DIR)/usr/bin:$(STAGING_DIR)/bin:/bin:/sbin:/usr/bin:/usr/sbin
IMAGE:=$(BUILD_DIR)/root_fs_$(ARCH)$(ARCH_FPU_SUFFIX) IMAGE:=$(BUILD_DIR)/root_fs_$(ARCH)$(ARCH_FPU_SUFFIX)
REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux-uclibc REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux-uclibc
@ -67,7 +86,6 @@ GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux
KERNEL_CROSS:=$(STAGING_DIR)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc- KERNEL_CROSS:=$(STAGING_DIR)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc-
TARGET_CROSS:=$(STAGING_DIR)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc- TARGET_CROSS:=$(STAGING_DIR)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc-
TARGET_CC:=$(TARGET_CROSS)gcc TARGET_CC:=$(TARGET_CROSS)gcc
#STRIP:=$(TARGET_CROSS)strip --remove-section=.comment --remove-section=.note
STRIP:=$(STAGING_DIR)/bin/sstrip STRIP:=$(STAGING_DIR)/bin/sstrip
PATCH=$(SCRIPT_DIR)/patch-kernel.sh PATCH=$(SCRIPT_DIR)/patch-kernel.sh
SED:=$(STAGING_DIR)/bin/sed -i -e SED:=$(STAGING_DIR)/bin/sed -i -e
@ -110,9 +128,10 @@ endif
# invoke ipkg-build with some default options # invoke ipkg-build with some default options
IPKG_BUILD := PATH="$(TARGET_PATH)" ipkg-build -c -o root -g root IPKG_BUILD := PATH="$(TARGET_PATH)" ipkg-build -c -o root -g root
# where to build (and put) .ipk packages # where to build (and put) .ipk packages
IPKG_TARGET_DIR := $(PACKAGE_DIR) IPKG_TARGET_DIR := $(PACKAGE_DIR)
IPKG:=IPKG_TMP=$(BUILD_DIR)/tmp IPKG_INSTROOT=$(TARGET_DIR) IPKG_CONF_DIR=$(STAGING_DIR)/etc $(SCRIPT_DIR)/ipkg -force-defaults -force-depends
IPKG_STATE_DIR := $(TARGET_DIR)/usr/lib/ipkg
RSTRIP:=STRIP="$(STRIP)" $(SCRIPT_DIR)/rstrip.sh RSTRIP:=STRIP="$(STRIP)" $(SCRIPT_DIR)/rstrip.sh
RSTRIP_KMOD:=STRIP="$(TARGET_CROSS)strip --strip-unneeded --remove-section=.comment" $(SCRIPT_DIR)/rstrip.sh RSTRIP_KMOD:=STRIP="$(TARGET_CROSS)strip --strip-unneeded --remove-section=.comment" $(SCRIPT_DIR)/rstrip.sh

View file

@ -17,15 +17,21 @@ image_clean:
rm -f $(BIN_DIR)/openwrt-* rm -f $(BIN_DIR)/openwrt-*
%-clean: %-clean:
@$(TRACE) target/$(patsubst %-clean,%,$@)/clean
$(MAKE) -C $(patsubst %-clean,%,$@) clean $(MAKE) -C $(patsubst %-clean,%,$@) clean
%-prepare: %-prepare:
@$(TRACE) target/$(patsubst %-prepare,%,$@)/prepare
$(MAKE) -C $(patsubst %-prepare,%,$@) prepare $(MAKE) -C $(patsubst %-prepare,%,$@) prepare
%-compile: %-prepare %-compile: %-prepare
@$(TRACE) target/$(patsubst %-compile,%,$@)/compile
$(MAKE) -C $(patsubst %-compile,%,$@) compile $(MAKE) -C $(patsubst %-compile,%,$@) compile
%-rebuild: %-rebuild:
@$(TRACE) target/$(patsubst %-rebuild,%,$@)/rebuild
$(MAKE) -C $(patsubst %-rebuild,%,$@) rebuild $(MAKE) -C $(patsubst %-rebuild,%,$@) rebuild
%-install: %-compile %-install: %-compile
@$(TRACE) target/$(patsubst %-install,%,$@)/install
$(MAKE) -C $(patsubst %-install,%,$@) install $(MAKE) -C $(patsubst %-install,%,$@) install
linux-imagebuilder: linux-imagebuilder:
@$(TRACE) target/linux/imagebuilder
$(MAKE) -C linux imagebuilder $(MAKE) -C linux imagebuilder

View file

@ -1,13 +1,10 @@
choice
config BR2_LINUX_2_4 prompt "Target system"
bool "Linux 2.4 (choose only one target board)"
default y
config BR2_LINUX_2_4_BRCM config BR2_LINUX_2_4_BRCM
bool "Support for Broadcom based routers" bool "Support for Broadcom based routers [2.4]"
default y default y
depends BR2_mipsel depends BR2_mipsel
depends BR2_LINUX_2_4
help help
Build firmware images for Broadcom based routers Build firmware images for Broadcom based routers
(e.g. Linksys WRT54G(S), Asus WL-500g, Motorola WR850G) (e.g. Linksys WRT54G(S), Asus WL-500g, Motorola WR850G)
@ -17,48 +14,30 @@ config BR2_LINUX_2_4_BRCM
with TFTP client too. with TFTP client too.
config BR2_LINUX_2_4_AR7 config BR2_LINUX_2_4_AR7
bool "Support for TI AR7 based devices" bool "Support for TI AR7 based devices [2.4]"
default n default n
depends BR2_mipsel depends BR2_mipsel
depends BR2_LINUX_2_4
help help
Build firmware images for TI AR7 based routers (w.g. Linksys WAG54G v2) Build firmware images for TI AR7 based routers (w.g. Linksys WAG54G v2)
config BR2_LINUX_2_4_SOEKRIS config BR2_LINUX_2_4_SOEKRIS
bool "Support for Soekris boards" bool "Support for Soekris boards [2.4]"
default n default n
depends BR2_i386 depends BR2_i386
depends BR2_LINUX_2_4
help help
Build firmware images for Soekris based boards Build firmware images for Soekris based boards
(e.g. net4521, net4801) (e.g. net4521, net4801)
config BR2_TARGET_NET4521
default y
depends BR2_LINUX_2_4_SOEKRIS
bool "Soekris net4521"
config BR2_TARGET_NET4801
default y
depends BR2_LINUX_2_4_SOEKRIS
bool "Soekris net4801"
config BR2_LINUX_2_6
bool "Linux 2.6"
default n
config BR2_LINUX_2_6_BRCM config BR2_LINUX_2_6_BRCM
bool "Support for Broadcom based routers" bool "Support for Broadcom based routers [2.6]"
default n default n
depends BR2_mipsel depends BR2_mipsel
depends BR2_LINUX_2_6
select BR2_PACKAGE_KMOD_B44
select BR2_PACKAGE_KMOD_MADWIFI
select BR2_PACKAGE_ROBOCFG
help help
Build firmware images for Broadcom based routers Build firmware images for Broadcom based routers
(e.g. Netgear WGT634u) (e.g. Netgear WGT634u)
endchoice
comment "Kernel Modules" comment "Kernel Modules"
config BR2_PACKAGE_KMOD_SANGAM_ATM_A config BR2_PACKAGE_KMOD_SANGAM_ATM_A
@ -103,6 +82,7 @@ config BR2_PACKAGE_KMOD_BRCM_ET
config BR2_PACKAGE_KMOD_B44 config BR2_PACKAGE_KMOD_B44
tristate "Broadcom 44XX, 47XX ethernet driver" tristate "Broadcom 44XX, 47XX ethernet driver"
default m default m
default y if BR2_LINUX_2_6_BRCM
help help
Free driver for Broadcom Ethernet chipsets (without switch support) Free driver for Broadcom Ethernet chipsets (without switch support)
@ -347,7 +327,6 @@ config BR2_PACKAGE_KMOD_PPPOATM
config BR2_PACKAGE_KMOD_ATM config BR2_PACKAGE_KMOD_ATM
tristate "ATM support" tristate "ATM support"
default m
default y if BR2_LINUX_2_4_AR7 default y if BR2_LINUX_2_4_AR7
help help
ATM support ATM support

View file

@ -58,6 +58,7 @@ $(BIN_DIR)/$(IB_NAME).tar.bz2:
cp $(TOPDIR)/rules.mk $(IB_DIR) cp $(TOPDIR)/rules.mk $(IB_DIR)
cp -fpR ./image $(IB_DIR)/ cp -fpR ./image $(IB_DIR)/
cp $(TOPDIR)/.config $(IB_DIR)/ cp $(TOPDIR)/.config $(IB_DIR)/
find $(IB_DIR) -name .svn | xargs rm -rf
find $(IB_DIR) -name CVS | xargs rm -rf find $(IB_DIR) -name CVS | xargs rm -rf
(cd $(BUILD_DIR); tar c $(IB_NAME) | bzip2 -c > $(BIN_DIR)/$(IB_NAME).tar.bz2) (cd $(BUILD_DIR); tar c $(IB_NAME) | bzip2 -c > $(BIN_DIR)/$(IB_NAME).tar.bz2)
@ -66,8 +67,10 @@ install: $(BIN_DIR)/$(IB_NAME).tar.bz2
endif endif
prepare: prepare:
@$(TRACE) target/linux/image/prepare
$(MAKE) -C image prepare $(MAKE) -C image prepare
compile: compile:
@$(TRACE) target/linux/image/compile
$(MAKE) -C image compile $(MAKE) -C image compile
install: install:
rebuild: rebuild:

View file

@ -17,10 +17,15 @@ endif
prepare: prepare:
compile: compile:
install: install:
$(BOARD)-compile:
@$(TRACE) target/linux/image/$(BOARD)/prepare
$(MAKE) -C $(BOARD) prepare $(MAKE) -C $(BOARD) prepare
@$(TRACE) target/linux/image/$(BOARD)/compile
$(MAKE) -C $(BOARD) compile $(MAKE) -C $(BOARD) compile
install-ib: install-ib:
@$(TRACE) target/linux/image/$(BOARD)/install-ib
-$(MAKE) -C $(BOARD) IB_DIR="$(IB_DIR)" install-ib -$(MAKE) -C $(BOARD) IB_DIR="$(IB_DIR)" install-ib
mkdir -p $(IB_DIR)/build_$(ARCH)/linux-$(KERNEL)-$(BOARD) mkdir -p $(IB_DIR)/build_$(ARCH)/linux-$(KERNEL)-$(BOARD)
cp $(BUILD_DIR)/linux-$(KERNEL)-$(BOARD)/kernel[-_]*.ipk $(IB_DIR)/build_$(ARCH)/linux-$(KERNEL)-$(BOARD)/ cp $(BUILD_DIR)/linux-$(KERNEL)-$(BOARD)/kernel[-_]*.ipk $(IB_DIR)/build_$(ARCH)/linux-$(KERNEL)-$(BOARD)/

View file

@ -19,8 +19,10 @@ $(KDIR)/root.jffs2-8MB: install-prepare
@rm -rf $(KDIR)/root/jffs @rm -rf $(KDIR)/root/jffs
$(STAGING_DIR)/bin/mkfs.jffs2 $(JFFS2OPTS) -e 0x20000 -o $@ -d $(KDIR)/root $(STAGING_DIR)/bin/mkfs.jffs2 $(JFFS2OPTS) -e 0x20000 -o $@ -d $(KDIR)/root
jffs2-install: $(KDIR)/root.jffs2-4MB $(KDIR)/root.jffs2-8MB jffs2-install: $(KDIR)/root.jffs2-4MB $(KDIR)/root.jffs2-8MB $(BOARD)-compile
$(TRACE) target/linux/image/$(BOARD)/install
$(MAKE) -C $(BOARD) install KERNEL="$(KERNEL)" FS="jffs2-4MB" $(MAKE) -C $(BOARD) install KERNEL="$(KERNEL)" FS="jffs2-4MB"
$(TRACE) target/linux/image/$(BOARD)/install
$(MAKE) -C $(BOARD) install KERNEL="$(KERNEL)" FS="jffs2-8MB" $(MAKE) -C $(BOARD) install KERNEL="$(KERNEL)" FS="jffs2-8MB"
jffs2-install-ib: jffs2-install-ib:

View file

@ -12,7 +12,8 @@ $(KDIR)/root.squashfs: install-prepare
@mkdir -p $(KDIR)/root/jffs @mkdir -p $(KDIR)/root/jffs
$(STAGING_DIR)/bin/mksquashfs-lzma $(KDIR)/root $@ -nopad -noappend -root-owned -le $(STAGING_DIR)/bin/mksquashfs-lzma $(KDIR)/root $@ -nopad -noappend -root-owned -le
squashfs-install: $(KDIR)/root.squashfs squashfs-install: $(KDIR)/root.squashfs $(BOARD)-compile
$(TRACE) target/linux/image/$(BOARD)/install
$(MAKE) -C $(BOARD) install KERNEL="$(KERNEL)" FS="squashfs" $(MAKE) -C $(BOARD) install KERNEL="$(KERNEL)" FS="squashfs"
squashfs-install-ib: squashfs-install-ib:

View file

@ -16,7 +16,7 @@ LINUX_BINARY_DRIVER_SITE := http://openwrt.org/downloads/sources/
LINUX_SOURCE := linux-$(LINUX_VERSION).tar.bz2 LINUX_SOURCE := linux-$(LINUX_VERSION).tar.bz2
LINUX_SOURCE_DIR := $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION) LINUX_SOURCE_DIR := $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION)
MODULES_DIR := $(LINUX_BUILD_DIR)/modules/$(MODULES_SUBDIR) MODULES_DIR := $(LINUX_BUILD_DIR)/modules/$(MODULES_SUBDIR)
TARGET_MODULES_DIR := $(TARGET_DIR)/lib/modules/$(LINUX_VERSION) TARGET_MODULES_DIR := $(LINUX_TARGET_DIR)/lib/modules/$(LINUX_VERSION)
IPKG_KERNEL:=IPKG_TMP=$(BUILD_DIR)/tmp IPKG_INSTROOT=$(LINUX_TARGET_DIR) IPKG_CONF_DIR=$(LINUX_BUILD_DIR) $(SCRIPT_DIR)/ipkg -force-defaults -force-depends IPKG_KERNEL:=IPKG_TMP=$(BUILD_DIR)/tmp IPKG_INSTROOT=$(LINUX_TARGET_DIR) IPKG_CONF_DIR=$(LINUX_BUILD_DIR) $(SCRIPT_DIR)/ipkg -force-defaults -force-depends
PKG_BUILD_DIR := $(LINUX_BUILD_DIR)/linux-modules PKG_BUILD_DIR := $(LINUX_BUILD_DIR)/linux-modules
@ -250,6 +250,7 @@ $(STAMP_DIR)/.linux-compile: $(LINUX_DIR)/.modules_done
@mkdir -p $(STAMP_DIR) @mkdir -p $(STAMP_DIR)
@$(MAKE) $(TARGETS) @$(MAKE) $(TARGETS)
ln -sf $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION) $(LINUX_DIR) ln -sf $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION) $(LINUX_DIR)
@$(TRACE) target/linux/package
$(MAKE) -C $(TOPDIR)/target/linux/package \ $(MAKE) -C $(TOPDIR)/target/linux/package \
$(KPKG_MAKEOPTS) \ $(KPKG_MAKEOPTS) \
compile compile
@ -274,12 +275,8 @@ compile: $(STAMP_DIR)/.linux-compile
install: compile $(TARGET_MODULES_DIR) $(KERNEL_IPKG) install: compile $(TARGET_MODULES_DIR) $(KERNEL_IPKG)
rm -rf $(LINUX_BUILD_DIR)/root* rm -rf $(LINUX_BUILD_DIR)/root*
cp -fpR $(BUILD_DIR)/root $(LINUX_BUILD_DIR)/
echo -e 'dest root /\noption offline_root $(LINUX_BUILD_DIR)/root' > $(LINUX_BUILD_DIR)/ipkg.conf echo -e 'dest root /\noption offline_root $(LINUX_BUILD_DIR)/root' > $(LINUX_BUILD_DIR)/ipkg.conf
$(MAKE) -C $(TOPDIR)/package \
TARGET_DIR="$(LINUX_TARGET_DIR)" \
IPKG_CONF="$(LINUX_BUILD_DIR)" \
BOARD="$(BOARD)" \
install
$(MAKE) -C $(TOPDIR)/target/linux/package \ $(MAKE) -C $(TOPDIR)/target/linux/package \
$(KPKG_MAKEOPTS) \ $(KPKG_MAKEOPTS) \
install install

View file

@ -25,7 +25,7 @@ LINUX_KARCH:=$(shell echo $(ARCH) | sed -e 's/i[3-9]86/i386/' \
LINUX_SOURCE := linux-$(LINUX_VERSION).tar.bz2 LINUX_SOURCE := linux-$(LINUX_VERSION).tar.bz2
LINUX_SOURCE_DIR := $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION) LINUX_SOURCE_DIR := $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION)
MODULES_DIR := $(LINUX_BUILD_DIR)/modules/$(MODULES_SUBDIR) MODULES_DIR := $(LINUX_BUILD_DIR)/modules/$(MODULES_SUBDIR)
TARGET_MODULES_DIR := $(TARGET_DIR)/lib/modules/$(LINUX_VERSION) TARGET_MODULES_DIR := $(LINUX_TARGET_DIR)/lib/modules/$(LINUX_VERSION)
IPKG_KERNEL:=IPKG_TMP=$(BUILD_DIR)/tmp IPKG_INSTROOT=$(LINUX_TARGET_DIR) IPKG_CONF_DIR=$(LINUX_BUILD_DIR) $(SCRIPT_DIR)/ipkg -force-defaults -force-depends IPKG_KERNEL:=IPKG_TMP=$(BUILD_DIR)/tmp IPKG_INSTROOT=$(LINUX_TARGET_DIR) IPKG_CONF_DIR=$(LINUX_BUILD_DIR) $(SCRIPT_DIR)/ipkg -force-defaults -force-depends
PKG_BUILD_DIR := $(LINUX_BUILD_DIR)/linux-modules PKG_BUILD_DIR := $(LINUX_BUILD_DIR)/linux-modules
@ -47,10 +47,6 @@ include $(LINUX_KCONFIG)
INSTALL_TARGETS := $(KERNEL_IPKG) INSTALL_TARGETS := $(KERNEL_IPKG)
TARGETS := TARGETS :=
ifeq ($(BOARD),brcm)
include ./broadcom.mk
endif
$(eval $(call KMOD_template,ATM,atm,\ $(eval $(call KMOD_template,ATM,atm,\
$(MODULES_DIR)/kernel/net/atm/atm.ko \ $(MODULES_DIR)/kernel/net/atm/atm.ko \
$(MODULES_DIR)/kernel/net/atm/br2684.ko \ $(MODULES_DIR)/kernel/net/atm/br2684.ko \
@ -238,18 +234,15 @@ source: $(DL_DIR)/$(LINUX_SOURCE)
prepare: $(LINUX_DIR)/.configured prepare: $(LINUX_DIR)/.configured
compile: $(LINUX_DIR)/.modules_done $(TARGETS) compile: $(LINUX_DIR)/.modules_done $(TARGETS)
ln -sf $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION) $(LINUX_DIR) ln -sf $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION) $(LINUX_DIR)
@$(TRACE) target/linux/package
$(MAKE) -C $(TOPDIR)/target/linux/package \ $(MAKE) -C $(TOPDIR)/target/linux/package \
$(KPKG_MAKEOPTS) \ $(KPKG_MAKEOPTS) \
compile compile
install: compile $(TARGET_MODULES_DIR) $(KERNEL_IPKG) install: compile $(TARGET_MODULES_DIR) $(KERNEL_IPKG)
rm -rf $(LINUX_BUILD_DIR)/root* rm -rf $(LINUX_BUILD_DIR)/root*
cp -fpR $(BUILD_DIR)/root $(LINUX_BUILD_DIR)/
echo -e 'dest root /\noption offline_root $(LINUX_BUILD_DIR)/root' > $(LINUX_BUILD_DIR)/ipkg.conf echo -e 'dest root /\noption offline_root $(LINUX_BUILD_DIR)/root' > $(LINUX_BUILD_DIR)/ipkg.conf
$(MAKE) -C $(TOPDIR)/package \
TARGET_DIR="$(LINUX_TARGET_DIR)" \
IPKG_CONF="$(LINUX_BUILD_DIR)" \
BOARD="$(BOARD)" \
install
$(MAKE) -C $(TOPDIR)/target/linux/package \ $(MAKE) -C $(TOPDIR)/target/linux/package \
$(KPKG_MAKEOPTS) \ $(KPKG_MAKEOPTS) \
install install

View file

@ -1,3 +0,0 @@
# $Id$
#
# broadcom specific kmod packages

View file

@ -34,20 +34,24 @@ MAKEOPTS:= BOARD="$(BOARD)" \
%-prepare: %-prepare:
@$(TRACE) target/linux/package/$(patsubst %-prepare,%,$@)-prepare
$(MAKE) -C $(patsubst %-prepare,%,$@) \ $(MAKE) -C $(patsubst %-prepare,%,$@) \
$(MAKEOPTS) \ $(MAKEOPTS) \
prepare prepare
%-compile: %-prepare %-compile: %-prepare
@$(TRACE) target/linux/package/$(patsubst %-compile,%,$@)-compile
$(MAKE) -C $(patsubst %-compile,%,$@) \ $(MAKE) -C $(patsubst %-compile,%,$@) \
$(MAKEOPTS) \ $(MAKEOPTS) \
compile compile
%-install: %-compile %-install: %-compile
@$(TRACE) target/linux/package/$(patsubst %-install,%,$@)-install
$(MAKE) -C $(patsubst %-install,%,$@) \ $(MAKE) -C $(patsubst %-install,%,$@) \
$(MAKEOPTS) \ $(MAKEOPTS) \
install install
%-clean: %-clean:
@$(TRACE) target/linux/package/$(patsubst %-clean,%,$@)-clean
@$(MAKE) -C $(patsubst %-clean,%,$@) clean @$(MAKE) -C $(patsubst %-clean,%,$@) clean

View file

@ -30,18 +30,28 @@ $(TOOL_BUILD_DIR):
@mkdir -p $(TOOL_BUILD_DIR) @mkdir -p $(TOOL_BUILD_DIR)
%-prepare: $(TOOLCHAIN_STAMP_DIR) $(STAGING_DIR) $(TOOL_BUILD_DIR) %-prepare: $(TOOLCHAIN_STAMP_DIR) $(STAGING_DIR) $(TOOL_BUILD_DIR)
@[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || $(MAKE) -C $(patsubst %-prepare,%,$@) prepare @[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || { \
$(TRACE) toolchain/$(patsubst %-prepare,%,$@)/prepare; \
$(MAKE) -C $(patsubst %-prepare,%,$@) prepare; \
}
@touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ @touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@
%-compile: %-prepare %-compile: %-prepare
@[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || $(MAKE) -C $(patsubst %-compile,%,$@) compile @[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || { \
$(TRACE) toolchain/$(patsubst %-compile,%,$@)/compile; \
$(MAKE) -C $(patsubst %-compile,%,$@) compile; \
}
@touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ @touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@
%-install: %-compile %-install: %-compile
@[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || $(MAKE) -C $(patsubst %-install,%,$@) install @[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || { \
$(TRACE) toolchain/$(patsubst %-install,%,$@)/install; \
$(MAKE) -C $(patsubst %-install,%,$@) install; \
}
@touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ @touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@
%-clean: %-clean:
$(TRACE) toolchain/$(patsubst %-clean,%,$@)/clean
@$(MAKE) -C $(patsubst %-clean,%,$@) clean @$(MAKE) -C $(patsubst %-clean,%,$@) clean
@rm -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$(patsubst %-clean,%,$@)-* @rm -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$(patsubst %-clean,%,$@)-*

View file

@ -4,10 +4,11 @@ include $(TOPDIR)/rules.mk
LINUX_HEADERS_VERSION=2.4.30 LINUX_HEADERS_VERSION=2.4.30
LINUX_KERNEL_MD5SUM:=75d8ce40a3668603017cd186909efe8d LINUX_KERNEL_MD5SUM:=75d8ce40a3668603017cd186909efe8d
LINUX_HEADERS_SITE=http://www.fi.kernel.org/pub/linux/kernel/v2.4 \ LINUX_HEADERS_SITE= \
http://www.fr.kernel.org/pub/linux/kernel/v2.4 \ http://www.de.kernel.org/pub/linux/kernel/v2.4 \
http://www.kernel.org/pub/linux/kernel/v2.4 \ http://www.fi.kernel.org/pub/linux/kernel/v2.4 \
http://www.de.kernel.org/pub/linux/kernel/v2.4 http://www.fr.kernel.org/pub/linux/kernel/v2.4 \
http://www.kernel.org/pub/linux/kernel/v2.4 \
LINUX_HEADERS_SOURCE=linux-$(LINUX_HEADERS_VERSION).tar.bz2 LINUX_HEADERS_SOURCE=linux-$(LINUX_HEADERS_VERSION).tar.bz2
LINUX_HEADERS_ARCH:=$(shell echo $(ARCH) | sed -e 's/i[3-9]86/i386/' \ LINUX_HEADERS_ARCH:=$(shell echo $(ARCH) | sed -e 's/i[3-9]86/i386/' \