Changeset 8362


Ignore:
Timestamp:
2007-08-07T02:04:25+02:00 (9 years ago)
Author:
nbd
Message:

build system cleanup/restructuring as described in http://lists.openwrt.org/pipermail/openwrt-devel/2007-August/001159.html

Location:
trunk
Files:
1 added
44 edited

Legend:

Unmodified
Added
Removed
  • trunk/Makefile

    r8293 r8362  
    2626  include $(INCLUDE_DIR)/depends.mk 
    2727  include $(INCLUDE_DIR)/subdir.mk 
    28   include $(INCLUDE_DIR)/target.mk 
    2928  include target/Makefile 
    3029  include package/Makefile 
     
    3332 
    3433$(toolchain/stamp-compile): $(tools/stamp-compile) 
    35 $(target/stamp-compile): $(toolchain/stamp-install) $(tools/stamp-install) 
     34$(target/stamp-compile): $(toolchain/stamp-install) $(tools/stamp-install) $(BUILD_DIR)/.prepared 
    3635$(package/stamp-compile): $(target/stamp-compile) 
    3736$(target/stamp-install): $(package/stamp-compile) $(package/stamp-install) 
    3837 
     38$(BUILD_DIR)/.prepared: Makefile 
     39        @mkdir -p $$(dirname $@) 
     40        @touch $@ 
     41 
    3942clean: FORCE 
    40         rm -rf build_* bin tmp 
     43        rm -rf $(BUILD_DIR) $(BIN_DIR) 
     44        $(MAKE) target/linux/clean 
     45        rm -rf $(TMP_DIR) 
    4146 
    4247dirclean: clean 
    43         rm -rf staging_dir_* toolchain_build_* tool_build 
    44  
    45 distclean: dirclean  
    46         rm -rf dl .config* 
     48        rm -rf $(STAGING_DIR) $(STAGING_DIR_HOST) $(STAGING_DIR_TOOLCHAIN) $(BUILD_DIR_TOOLCHAIN) $(BUILD_DIR_HOST) 
    4749 
    4850# check prerequisites before starting to build 
  • trunk/include/host-build.mk

    r8255 r8362  
    55# See /LICENSE for more information. 
    66# 
     7 
     8PKG_BUILD_DIR ?= $(BUILD_DIR_HOST)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION)) 
     9PKG_INSTALL_DIR ?= $(PKG_BUILD_DIR)/host-install 
    710 
    811include $(INCLUDE_DIR)/host.mk 
     
    1316STAMP_CONFIGURED:=$(PKG_BUILD_DIR)/.configured 
    1417STAMP_BUILT:=$(PKG_BUILD_DIR)/.built 
     18STAMP_INSTALLED:=$(STAGING_DIR_HOST)/stamp/.$(PKG_NAME)_installed 
     19 
    1520override MAKEFLAGS= 
    1621 
     
    3439                $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/$(3)/ && \ 
    3540                $(2) \ 
    36                 CPPFLAGS="-I$(STAGING_DIR)/host/include" \ 
    37                 LDFLAGS="-L$(STAGING_DIR)/host/lib" \ 
     41                CPPFLAGS="$(HOST_CFLAGS)" \ 
     42                LDFLAGS="$(HOST_LDFLAGS)" \ 
     43                SHELL="$(BASH)" \ 
    3844                ./configure \ 
    39                 --target=$(GNU_TARGET_NAME) \ 
    40                 --host=$(GNU_TARGET_NAME) \ 
     45                --target=$(GNU_HOST_NAME) \ 
     46                --host=$(GNU_HOST_NAME) \ 
    4147                --build=$(GNU_HOST_NAME) \ 
    4248                --program-prefix="" \ 
    4349                --program-suffix="" \ 
    44                 --prefix=/usr \ 
    45                 --exec-prefix=/usr \ 
    46                 --bindir=/usr/bin \ 
    47                 --sbindir=/usr/sbin \ 
    48                 --libexecdir=/usr/lib \ 
    49                 --sysconfdir=/etc \ 
    50                 --datadir=/usr/share \ 
    51                 --localstatedir=/var \ 
    52                 --mandir=/usr/man \ 
    53                 --infodir=/usr/info \ 
     50                --prefix=$(STAGING_DIR_HOST) \ 
     51                --exec-prefix=$(STAGING_DIR_HOST) \ 
     52                --sysconfdir=$(STAGING_DIR_HOST)/etc \ 
     53                --localstatedir=$(STAGING_DIR_HOST)/var \ 
    5454                $(DISABLE_NLS) \ 
    5555                $(1); \ 
     
    8585    $(PKG_BUILD_DIR)/.dep_files: $(STAMP_PREPARED) 
    8686    $(call rdep,${CURDIR} $(PKG_FILE_DEPEND),$(STAMP_PREPARED)) 
    87     $(if $(filter prepare,$(MAKECMDGOALS)),,$(call rdep,$(PKG_BUILD_DIR),$(STAMP_BUILT),$(PKG_BUILD_DIR)/.dep_files, -and -not -path "/.*" -and -not -path "*/ipkg*")) 
     87    $(if $(if $(Build/Compile),$(filter prepare,$(MAKECMDGOALS)),1),,$(call rdep,$(PKG_BUILD_DIR),$(STAMP_BUILT),$(PKG_BUILD_DIR)/.dep_files, -and -not -path "/.*" -and -not -path "*/ipkg*")) 
    8888  endef 
    8989endif 
     
    108108        touch $$@ 
    109109 
    110   $(STAGING_DIR)/stampfiles/.host_$(PKG_NAME)-installed: $(STAMP_BUILT) 
     110  $(STAMP_INSTALLED): $(STAMP_BUILT) 
    111111        $(call Build/Install) 
    112112        mkdir -p $$(shell dirname $$@) 
     
    114114         
    115115  ifdef Build/Install 
    116     install: $(STAGING_DIR)/stampfiles/.host_$(PKG_NAME)-installed 
     116    install: $(STAMP_INSTALLED) 
    117117  endif 
    118118 
     
    120120        $(call Build/Clean) 
    121121        $(call Build/Uninstall) 
    122         rm -f $(STAGING_DIR)/stampfiles/.host_$(PKG_NAME)-installed 
     122        rm -f $(STAMP_INSTALLED) $(STAMP_BUILT) 
    123123 
    124124  download: 
  • trunk/include/image.mk

    r8324 r8362  
    1212override MAKEFLAGS= 
    1313override MAKE:=$(SUBMAKE) 
    14 KDIR:=$(BUILD_DIR)/linux-$(KERNEL)-$(BOARD) 
     14KDIR=$(KERNEL_BUILD_DIR) 
    1515 
    1616ifneq ($(CONFIG_BIG_ENDIAN),y) 
     
    4141    define Image/mkfs/jffs2/sub 
    4242                # FIXME: removing this line will cause strange behaviour in the foreach loop below 
    43                 $(STAGING_DIR)/bin/mkfs.jffs2 $(JFFS2OPTS) -e $(patsubst %k,%KiB,$(1)) -o $(KDIR)/root.jffs2-$(1) -d $(BUILD_DIR)/root 
     43                $(STAGING_DIR_HOST)/bin/mkfs.jffs2 $(JFFS2OPTS) -e $(patsubst %k,%KiB,$(1)) -o $(KDIR)/root.jffs2-$(1) -d $(TARGET_DIR) 
    4444                $(call add_jffs2_mark,$(KDIR)/root.jffs2-$(1)) 
    4545                $(call Image/Build,jffs2-$(1)) 
    4646    endef 
    4747    define Image/mkfs/jffs2 
    48                 rm -rf $(BUILD_DIR)/root/jffs 
     48                rm -rf $(TARGET_DIR)/jffs 
    4949                $(foreach SZ,$(JFFS2_BLOCKSIZE),$(call Image/mkfs/jffs2/sub,$(SZ))) 
    5050    endef 
     
    5353  ifeq ($(CONFIG_TARGET_ROOTFS_SQUASHFS),y) 
    5454    define Image/mkfs/squashfs 
    55                 @mkdir -p $(BUILD_DIR)/root/jffs 
    56                 $(STAGING_DIR)/bin/mksquashfs-lzma $(BUILD_DIR)/root $(KDIR)/root.squashfs -nopad -noappend -root-owned $(SQUASHFS_OPTS) 
     55                @mkdir -p $(TARGET_DIR)/jffs 
     56                $(STAGING_DIR_HOST)/bin/mksquashfs-lzma $(TARGET_DIR) $(KDIR)/root.squashfs -nopad -noappend -root-owned $(SQUASHFS_OPTS) 
    5757                $(call Image/Build,squashfs) 
    5858    endef 
     
    6161  ifeq ($(CONFIG_TARGET_ROOTFS_TGZ),y) 
    6262    define Image/mkfs/tgz 
    63                 $(TAR) -zcf $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-rootfs.tgz --owner=root --group=root -C $(BUILD_DIR)/root/ . 
     63                $(TAR) -zcf $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-rootfs.tgz --owner=root --group=root -C $(TARGET_DIR)/ . 
    6464    endef 
    6565  endif 
     
    7676   
    7777  define Image/mkfs/ext2 
    78                 $(STAGING_DIR)/bin/genext2fs -U -b $(E2SIZE) -I $(CONFIG_TARGET_ROOTFS_MAXINODE) -d $(BUILD_DIR)/root/ $(KDIR)/root.ext2 
     78                $(STAGING_DIR_HOST)/bin/genext2fs -U -b $(E2SIZE) -I $(CONFIG_TARGET_ROOTFS_MAXINODE) -d $(TARGET_DIR)/ $(KDIR)/root.ext2 
    7979                $(call Image/Build,ext2) 
    8080  endef 
     
    8383 
    8484define Image/mkfs/prepare/default 
    85         find $(BUILD_DIR)/root -type f -not -perm +0100 -not -name 'ssh_host*' | $(XARGS) chmod 0644 
    86         find $(BUILD_DIR)/root -type f -perm +0100 | $(XARGS) chmod 0755 
    87         find $(BUILD_DIR)/root -type d | $(XARGS) chmod 0755 
    88         mkdir -p $(BUILD_DIR)/root/tmp 
    89         chmod 0777 $(BUILD_DIR)/root/tmp 
     85        find $(TARGET_DIR) -type f -not -perm +0100 -not -name 'ssh_host*' | $(XARGS) chmod 0644 
     86        find $(TARGET_DIR) -type f -perm +0100 | $(XARGS) chmod 0755 
     87        find $(TARGET_DIR) -type d | $(XARGS) chmod 0755 
     88        $(INSTALL_DIR) $(TARGET_DIR)/tmp 
     89        chmod 0777 $(TARGET_DIR)/tmp 
    9090endef 
    9191 
  • trunk/include/kernel-build.mk

    r8324 r8362  
    168168prepare: $(STAMP_CONFIGURED) 
    169169compile: $(LINUX_DIR)/.modules 
     170        $(MAKE) -C image compile 
     171 
    170172oldconfig menuconfig: $(STAMP_PREPARED) FORCE 
    171173        $(call Kernel/Configure) 
  • trunk/include/kernel-defaults.mk

    r8237 r8362  
    6868                mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.old 
    6969                grep -v INITRAMFS $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config 
    70                 echo 'CONFIG_INITRAMFS_SOURCE="../../root"' >> $(LINUX_DIR)/.config 
     70                echo 'CONFIG_INITRAMFS_SOURCE="$(TARGET_DIR)"' >> $(LINUX_DIR)/.config 
    7171                echo 'CONFIG_INITRAMFS_ROOT_UID=0' >> $(LINUX_DIR)/.config 
    7272                echo 'CONFIG_INITRAMFS_ROOT_GID=0' >> $(LINUX_DIR)/.config 
     
    7676                mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.old 
    7777                grep -v INITRAMFS $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config 
    78                 rm -f $(BUILD_DIR)/root/init 
     78                rm -f $(TARGET_DIR)/init 
    7979                echo 'CONFIG_INITRAMFS_SOURCE=""' >> $(LINUX_DIR)/.config 
    8080    endef 
  • trunk/include/kernel.mk

    r8323 r8362  
    3131  KERNEL_PATCHVER:=$(shell echo $(LINUX_VERSION) | cut -d. -f1,2,3 | cut -d- -f1) 
    3232  PLATFORM_DIR := $(TOPDIR)/target/linux/$(BOARD)-$(KERNEL) 
    33   PATCH_DIR := ./patches$(shell [ -d "./patches-$(KERNEL_PATCHVER)" ] && printf -- "-$(KERNEL_PATCHVER)" || true ) 
    34   KERNEL_BUILD_DIR:=$(BUILD_DIR)/linux-$(KERNEL)-$(BOARD) 
    35   LINUX_DIR := $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) 
     33  PATCH_DIR ?= ./patches$(shell [ -d "./patches-$(KERNEL_PATCHVER)" ] && printf -- "-$(KERNEL_PATCHVER)" || true ) 
     34  KERNEL_BUILD_DIR ?= $(BUILD_DIR_BASE)/linux-$(KERNEL)-$(BOARD)$(if $(BUILD_SUFFIX),_$(BUILD_SUFFIX)) 
     35  LINUX_DIR ?= $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) 
    3636 
    3737  MODULES_SUBDIR:=lib/modules/$(LINUX_VERSION) 
  • trunk/include/package.mk

    r8255 r8362  
    1010PKG_BUILD_DIR ?= $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) 
    1111PKG_INSTALL_DIR ?= $(PKG_BUILD_DIR)/ipkg-install 
     12PKG_MD5SUM ?= unknown 
    1213 
    1314include $(INCLUDE_DIR)/prereq.mk 
  • trunk/include/subdir.mk

    r8244 r8362  
    3838define stampfile 
    3939  $(1)/stamp-$(3):=$(STAGING_DIR)/stampfiles/.$(2)_$(3) 
    40   $(if __rdep_$(1),, 
     40  $(if $(__rdep_$(1)),, 
    4141    $(call rdep,$(1),$$($(1)/stamp-$(3)),) 
    4242    __rdep_$(1):=1 
  • trunk/include/toplevel.mk

    r8242 r8362  
    9595        $(MAKE) -j1 target/download 
    9696 
    97 clean dirclean distclean: 
     97clean dirclean: 
    9898        @$(MAKE) $@  
    9999 
     
    119119        rm -rf tmp 
    120120 
     121distclean: 
     122        rm -rf tmp build_dir staging_dir dl .config* 
     123 
    121124ifeq ($(findstring v,$(DEBUG)),) 
    122125  .SILENT: symlinkclean clean dirclean distclean config-clean download help tmpinfo-clean .config scripts/config/mconf scripts/config/conf menuconfig tmp/.prereq-build tmp/.prereq-package tmp/.prereq-target prepare-tmpinfo 
  • trunk/package/Makefile

    r8294 r8362  
    1818 
    1919$(curdir)/cleanup: $(TMP_DIR)/.build 
    20         rm -rf $(BUILD_DIR)/root 
     20        rm -rf $(TARGET_DIR) 
    2121 
    2222$(curdir)/rootfs-prepare: $(TMP_DIR)/.build 
    2323        @if [ -d $(TOPDIR)/files ]; then \ 
    24                 $(CP) $(TOPDIR)/files/. $(BUILD_DIR)/root; \ 
     24                $(CP) $(TOPDIR)/files/. $(TARGET_DIR); \ 
    2525        fi 
    26         @mkdir -p $(BUILD_DIR)/root/etc/rc.d 
     26        @mkdir -p $(TARGET_DIR)/etc/rc.d 
    2727        @( \ 
    28                 cd $(BUILD_DIR)/root; \ 
     28                cd $(TARGET_DIR); \ 
    2929                for script in ./etc/init.d/*; do \ 
    3030                        grep '#!/bin/sh /etc/rc.common' $$script >/dev/null || continue; \ 
    31                         IPKG_INSTROOT=$(BUILD_DIR)/root $(which bash) ./etc/rc.common $$script enable; \ 
     31                        IPKG_INSTROOT=$(TARGET_DIR) $(which bash) ./etc/rc.common $$script enable; \ 
    3232                done || true \ 
    3333        ) 
    34         @-find $(BUILD_DIR)/root -name CVS   | $(XARGS) rm -rf 
    35         @-find $(BUILD_DIR)/root -name .svn  | $(XARGS) rm -rf 
    36         @-find $(BUILD_DIR)/root -name '.#*' | $(XARGS) rm -f 
     34        @-find $(TARGET_DIR) -name CVS   | $(XARGS) rm -rf 
     35        @-find $(TARGET_DIR) -name .svn  | $(XARGS) rm -rf 
     36        @-find $(TARGET_DIR) -name '.#*' | $(XARGS) rm -f 
    3737 
    3838$(curdir)/index: FORCE 
  • trunk/package/base-files/Makefile

    r8038 r8362  
    2424ifneq ($(DUMP),1) 
    2525  TARGET:=-$(BOARD)-$(KERNEL) 
    26   UCLIBC_VERSION:=${shell cat $(STAGING_DIR)/uclibc_version 2>/dev/null} 
    27   UCLIBC_EXTRA_VERSION:=${shell cat $(STAGING_DIR)/uclibc_extra_version 2>/dev/null} 
    28   LIBGCC_VERSION:=${shell cat $(STAGING_DIR)/gcc_version 2>/dev/null} 
     26  LIBGCC_VERSION:=$(GCC_VERSION) 
    2927else 
    3028  UCLIBC_VERSION:=<UCLIBC_VERSION> 
     
    9391  DEPENDS:=@!NATIVE_TOOLCHAIN 
    9492  URL:=http://uclibc.org/ 
    95   VERSION:=$(UCLIBC_VERSION)-$(PKG_RELEASE) 
     93  VERSION:=$(UCLIBC_VERSION)$(UCLIBC_PATCHVER)-$(PKG_RELEASE) 
    9694endef 
    9795 
     
    159157define Package/libgcc/install 
    160158        $(INSTALL_DIR) $(1)/lib 
    161         $(CP) $(STAGING_DIR)/lib/libgcc_s.so.* $(1)/lib/ 
     159        $(CP) $(TOOLCHAIN_DIR)/lib/libgcc_s.so.* $(1)/lib/ 
    162160endef 
    163161 
     
    165163  define Package/libssp/install 
    166164        $(INSTALL_DIR) $(1)/lib 
    167         $(CP) $(STAGING_DIR)/lib/libssp.so.* $(1)/lib/ 
     165        $(CP) $(TOOLCHAIN_DIR)/lib/libssp.so.* $(1)/lib/ 
    168166  endef 
    169167endif 
     
    171169define Package/libstdcpp/install 
    172170        $(INSTALL_DIR) $(1)/lib 
    173         $(CP) $(STAGING_DIR)/lib/libstdc++.so.* $(1)/lib/ 
     171        $(CP) $(TOOLCHAIN_DIR)/lib/libstdc++.so.* $(1)/lib/ 
    174172endef 
    175173 
    176174define Package/libpthread/install 
    177175        $(INSTALL_DIR) $(1)/lib 
    178         $(CP) $(STAGING_DIR)/lib/libpthread.so.* $(1)/lib/ 
    179         $(CP) $(STAGING_DIR)/lib/libpthread-$(UCLIBC_VERSION).so $(1)/lib/ 
     176        $(CP) $(TOOLCHAIN_DIR)/lib/libpthread.so.* $(1)/lib/ 
     177        $(CP) $(TOOLCHAIN_DIR)/lib/libpthread-$(UCLIBC_VERSION).so $(1)/lib/ 
    180178endef 
    181179 
     
    183181        $(INSTALL_DIR) $(1)/lib 
    184182        for file in ld-uClibc libc libcrypt libdl libm libnsl libresolv librt libuClibc libutil; do \ 
    185                 $(CP) $(STAGING_DIR)/lib/$$$$file.so.* $(1)/lib/; \ 
    186                 $(CP) $(STAGING_DIR)/lib/$$$$file-$(UCLIBC_VERSION).so $(1)/lib/; \ 
     183                $(CP) $(TOOLCHAIN_DIR)/lib/$$$$file.so.* $(1)/lib/; \ 
     184                $(CP) $(TOOLCHAIN_DIR)/lib/$$$$file-$(UCLIBC_VERSION).so $(1)/lib/; \ 
    187185        done 
    188186endef 
     
    190188define Package/ldd/install 
    191189        $(INSTALL_DIR) $(1)/bin/ 
    192         $(CP) $(TOOLCHAIN_BUILD_DIR)/uClibc-$(UCLIBC_EXTRA_VERSION)/utils/ldd $(1)/bin/ 
     190        $(CP) $(TOOLCHAIN_DIR)/utils/ldd $(1)/bin/ 
    193191endef 
    194192 
    195193define Package/ldconfig/install 
    196194        $(INSTALL_DIR) $(1)/bin/ 
    197         $(CP) $(TOOLCHAIN_BUILD_DIR)/uClibc-$(UCLIBC_EXTRA_VERSION)/utils/ldconfig $(1)/bin/ 
     195        $(CP) $(TOOLCHAIN_DIR)/utils/ldconfig $(1)/bin/ 
    198196endef 
    199197 
  • trunk/package/bridge/Makefile

    r6582 r8362  
    1919PKG_BUILD_DIR:=$(BUILD_DIR)/bridge-utils-$(PKG_VERSION) 
    2020 
     21include $(INCLUDE_DIR)/kernel.mk 
    2122include $(INCLUDE_DIR)/package.mk 
    2223 
  • trunk/rules.mk

    r8256 r8362  
    1111include $(TOPDIR)/include/verbose.mk 
    1212 
     13TMP_DIR:=$(TOPDIR)/tmp 
     14 
     15include $(TOPDIR)/include/target.mk 
     16 
    1317export SHELL=/usr/bin/env bash -c '. $(TOPDIR)/include/shell.sh; eval "$$2"' -- 
    1418 
    15 ARCH:=$(strip $(subst ",, $(CONFIG_ARCH))) 
    16 TARGET_OPTIMIZATION:=$(strip $(subst ",, $(CONFIG_TARGET_OPTIMIZATION))) 
    17 BUILD_DIR_SUFFIX:=$(strip $(subst ",, $(CONFIG_BUILD_SUFFIX))) 
    18 WGET:=$(strip $(subst ",, $(CONFIG_WGET))) 
    19 #"))"))")) # fix vim's broken syntax highlighting 
     19define qstrip 
     20$(strip $(subst ",,$(1))) 
     21endef 
     22#")) 
     23 
     24ARCH:=$(call qstrip,$(CONFIG_ARCH)) 
     25TARGET_OPTIMIZATION:=$(call qstrip,$(CONFIG_TARGET_OPTIMIZATION)) 
     26BUILD_SUFFIX:=$(call qstrip,$(CONFIG_BUILD_SUFFIX)) 
     27GCCV:=$(call qstrip,$(CONFIG_GCC_VERSION)) 
    2028 
    2129OPTIMIZE_FOR_CPU:=$(ARCH) 
    2230 
    23 # DIRECTORIES # 
    24  
    2531DL_DIR:=$(TOPDIR)/dl 
     32BIN_DIR:=$(TOPDIR)/bin 
    2633INCLUDE_DIR:=$(TOPDIR)/include 
    2734SCRIPT_DIR:=$(TOPDIR)/scripts 
    28 TOOL_BUILD_DIR:=$(TOPDIR)/tool_build 
    29 TOOLCHAIN_BUILD_DIR:=$(TOPDIR)/toolchain_build_$(ARCH) 
    30 STAGING_DIR:=$(TOPDIR)/staging_dir_$(ARCH) 
    31 BIN_DIR:=$(TOPDIR)/bin 
    32 PACKAGE_DIR:=$(BIN_DIR)/packages 
    33 IPKG_TARGET_DIR:=$(PACKAGE_DIR) 
    34 BUILD_DIR:=$(TOPDIR)/build_$(ARCH)$(BUILD_DIR_SUFFIX) 
    35 TMP_DIR:=$(TOPDIR)/tmp 
     35BUILD_DIR_BASE:=$(TOPDIR)/build_dir 
     36BUILD_DIR:=$(BUILD_DIR_BASE)/$(ARCH)$(if $(BUILD_SUFFIX),_$(BUILD_SUFFIX)) 
     37BUILD_DIR_HOST:=$(BUILD_DIR_BASE)/host 
     38BUILD_DIR_TOOLCHAIN:=$(BUILD_DIR_BASE)/toolchain-$(ARCH) 
     39STAGING_DIR:=$(TOPDIR)/staging_dir/$(ARCH) 
     40STAGING_DIR_HOST:=$(TOPDIR)/staging_dir/host 
     41TOOLCHAIN_DIR:=$(TOPDIR)/staging_dir/toolchain-$(ARCH)_gcc$(GCCV) 
     42PACKAGE_DIR:=$(BIN_DIR)/packages/$(TARGET) 
    3643STAMP_DIR:=$(BUILD_DIR)/stamp 
    37 TARGET_DIR:=$(BUILD_DIR)/root 
     44STAMP_DIR_HOST=$(BUILD_DIR_HOST)/stamp 
     45TARGET_DIR:=$(BUILD_DIR)/root-$(BOARD) 
    3846IPKG_STATE_DIR:=$(TARGET_DIR)/usr/lib/ipkg 
    3947 
    4048ifeq ($(CONFIG_NATIVE_TOOLCHAIN),) 
     49  -include $(TOOLCHAIN_DIR)/info.mk 
    4150  REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux-uclibc 
    4251  GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux 
    43   TARGET_CROSS:=$(OPTIMIZE_FOR_CPU)-linux-uclibc- 
     52  TARGET_CROSS?=$(OPTIMIZE_FOR_CPU)-linux-uclibc- 
    4453endif 
    4554 
    46 IMAGE:=$(BUILD_DIR)/root_fs_$(ARCH) 
    47  
    48 TARGET_PATH:=$(STAGING_DIR)/usr/sbin:$(STAGING_DIR)/usr/bin:$(STAGING_DIR)/bin:$(PATH) 
     55TARGET_PATH:=$(TOOLCHAIN_DIR)/bin:$(STAGING_DIR_HOST)/bin:$(PATH) 
    4956TARGET_CFLAGS:=$(TARGET_OPTIMIZATION) -fhonour-copts 
    5057 
    5158export PATH:=$(TARGET_PATH) 
    5259 
    53 LINUX_DIR:=$(BUILD_DIR)/linux 
    54 LINUX_HEADERS_DIR:=$(TOOLCHAIN_BUILD_DIR)/linux 
     60LINUX_HEADERS_DIR:=$(BUILD_DIR_TOOLCHAIN)/linux 
    5561 
    56 # APPLICATIONS # 
    5762HOSTCC:=gcc 
     63HOST_CFLAGS:=-O2 -I$(STAGING_DIR_HOST)/include 
     64HOST_LDFLAGS:=-L$(STAGING_DIR_HOST)/lib 
     65 
    5866TARGET_CC:=$(TARGET_CROSS)gcc 
    59 STRIP:=$(STAGING_DIR)/bin/sstrip 
     67STRIP:=$(STAGING_DIR_HOST)/bin/sstrip 
    6068PATCH:=$(SCRIPT_DIR)/patch-kernel.sh 
    61 SED:=$(STAGING_DIR)/bin/sed -i -e 
     69SED:=$(STAGING_DIR_HOST)/bin/sed -i -e 
    6270CP:=cp -fpR 
    6371 
     
    100108# where to build (and put) .ipk packages 
    101109IPKG:= \ 
    102   PATH="$(STAGING_DIR)/bin:$(PATH)" \ 
    103   IPKG_TMP=$(BUILD_DIR)/tmp \ 
     110  PATH="$(STAGING_DIR_HOST)/bin:$(PATH)" \ 
     111  IPKG_TMP=$(TMP_DIR)/ipkg \ 
    104112  IPKG_INSTROOT=$(TARGET_DIR) \ 
    105113  IPKG_CONF_DIR=$(STAGING_DIR)/etc \ 
    106   IPKG_OFFLINE_ROOT=$(BUILD_DIR)/root \ 
     114  IPKG_OFFLINE_ROOT=$(TARGET_DIR) \ 
    107115  $(SCRIPT_DIR)/ipkg -force-defaults -force-depends 
    108116 
  • trunk/target/linux/adm5120-2.6/image/Makefile

    r8113 r8362  
    2323 
    2424define Image/Prepare 
    25         cat $(KDIR)/vmlinux | $(STAGING_DIR)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma 
     25        cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma 
    2626endef 
    2727 
     
    3737 
    3838define Image/Build/TRX 
    39         $(STAGING_DIR)/bin/trx -o $(1) -f $(3) -f $(KDIR)/vmlinux.lzma \ 
     39        $(STAGING_DIR_HOST)/bin/trx -o $(1) -f $(3) -f $(KDIR)/vmlinux.lzma \ 
    4040                $(call trxalign/$(2)) -f $(KDIR)/root.$(2) 
    4141endef 
    4242 
    4343define Image/Build/TRXNoloader 
    44         $(STAGING_DIR)/bin/trx -o $(1) -f $(KDIR)/vmlinux.lzma \ 
     44        $(STAGING_DIR_HOST)/bin/trx -o $(1) -f $(KDIR)/vmlinux.lzma \ 
    4545                $(call trxalign/$(2)) -f $(KDIR)/root.$(2) 
    4646endef 
     
    5454        $(call Image/Build/Loader,$(2),gz,0x80500000,0x6D8,y,$(2)) 
    5555        $(call Image/Build/TRXNoloader,$(IMGNAME)-$(3)-$(2).trx,$(1)) 
    56         $(STAGING_DIR)/bin/mkcsysimg -B $(4) -d -w \ 
     56        $(STAGING_DIR_HOST)/bin/mkcsysimg -B $(4) -d -w \ 
    5757                -r $(KDIR)/loader-$(2).gz \ 
    5858                -x $(IMGNAME)-$(3)-$(2).trx \ 
     
    7070        $(call Image/Build/Loader,$(2),gz,0x80500000,0) 
    7171        $(call Image/Build/TRXNoloader,$(IMGNAME)-$(3)-$(2).trx,$(1)) 
    72         $(STAGING_DIR)/bin/mkmylofw -B $(4) \ 
     72        $(STAGING_DIR_HOST)/bin/mkmylofw -B $(4) \ 
    7373                -p0x20000:0x10000:ahp:0x80001000 \ 
    7474                -p0x30000:0 \ 
     
    8484define Image/Build/RouterBoard 
    8585        $(CP) $(KDIR)/vmlinux.elf $(IMGNAME)-rb1xx-vmlinux 
    86         $(STAGING_DIR)/bin/patch-cmdline $(KDIR)/vmlinux.elf '$(strip $(call Image/cmdline/yaffs2)) ' 
     86        $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux.elf '$(strip $(call Image/cmdline/yaffs2)) ' 
    8787endef 
    8888 
  • trunk/target/linux/adm5120eb-2.6/image/Makefile

    r7904 r8362  
    2323 
    2424define Image/Prepare 
    25         cat $(KDIR)/vmlinux | $(STAGING_DIR)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma 
     25        cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma 
    2626endef 
    2727 
     
    3737 
    3838define Image/Build/TRX 
    39         $(STAGING_DIR)/bin/trx -o $(1) -f $(3) -f $(KDIR)/vmlinux.lzma \ 
     39        $(STAGING_DIR_HOST)/bin/trx -o $(1) -f $(3) -f $(KDIR)/vmlinux.lzma \ 
    4040                $(call trxalign/$(2)) -f $(KDIR)/root.$(2) 
    4141endef 
    4242 
    4343define Image/Build/TRXNoloader 
    44         $(STAGING_DIR)/bin/trx -o $(1) -f $(KDIR)/vmlinux.lzma \ 
     44        $(STAGING_DIR_HOST)/bin/trx -o $(1) -f $(KDIR)/vmlinux.lzma \ 
    4545                $(call trxalign/$(2)) -f $(KDIR)/root.$(2) 
    4646endef 
  • trunk/target/linux/amazon-2.6/image/Makefile

    r8137 r8362  
    99 
    1010define Image/BuildKernel 
    11         $(STAGING_DIR)/bin/lzma e $(KDIR)/vmlinux $(KDIR)/vmlinux.lzma 
     11        $(STAGING_DIR_HOST)/bin/lzma e $(KDIR)/vmlinux $(KDIR)/vmlinux.lzma 
    1212        mkimage -A mips -O linux -T kernel -C lzma -a 0x80002000 -e \ 
    1313                0x80002000 \ 
  • trunk/target/linux/ar7-2.6/image/Makefile

    r7593 r8362  
    3434 
    3535define Image/Prepare 
    36         cat $(KDIR)/vmlinux | $(STAGING_DIR)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma 
     36        cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma 
    3737 
    3838        $(MAKE) -C $(GENERIC_PLATFORM_DIR)/image/lzma-loader \ 
     
    5353define Image/Build/CyberTAN 
    5454        (dd if=/dev/zero bs=16 count=1; cat $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).bin) | \ 
    55                 $(STAGING_DIR)/bin/addpattern -p $(3) -o $(BIN_DIR)/openwrt-$(2)-$(KERNEL)-$(4).bin 
     55                $(STAGING_DIR_HOST)/bin/addpattern -p $(3) -o $(BIN_DIR)/openwrt-$(2)-$(KERNEL)-$(4).bin 
    5656endef 
    5757 
     
    5959#       cat sercomm/adam2.bin "$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).bin" > "$(KDIR)/dgfw.tmp" 
    6060#       dd if=sercomm/$(2) of="$(KDIR)/dgfw.tmp" bs=$$$$((0x3e0000 - 80)) seek=1 conv=notrunc 
    61 #       $(STAGING_DIR)/bin/dgfirmware -f -w "$(BIN_DIR)/openwrt-$(2)-$(KERNEL)-$(3).img" "$(KDIR)/dgfw.tmp" 
     61#       $(STAGING_DIR_HOST)/bin/dgfirmware -f -w "$(BIN_DIR)/openwrt-$(2)-$(KERNEL)-$(3).img" "$(KDIR)/dgfw.tmp" 
    6262#       rm -f "$(KDIR)/dgfw.tmp" 
    6363#endef 
  • trunk/target/linux/at91-2.6/image/Makefile

    r7500 r8362  
    3838        dd if=$(KDIR)/root.squashfs of=$(KDIR)/root.block bs=8448 conv=sync 
    3939        cat $(KDIR)/uImage.block $(KDIR)/root.block > $(KDIR)/knlroot.bin 
    40         $(STAGING_DIR)/bin/trx -o $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL).trx -f $(KDIR)/dfboot.bin -f$(KDIR)/u-boot.full -f$(KDIR)/knlroot.bin 
     40        $(STAGING_DIR_HOST)/bin/trx -o $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL).trx -f $(KDIR)/dfboot.bin -f$(KDIR)/u-boot.full -f$(KDIR)/knlroot.bin 
    4141        cp $(KDIR)/dfbptest.bin $(BIN_DIR) 
    4242        $(call Image/Build/$(1),$(1)) 
  • trunk/target/linux/atheros-2.6/image/Makefile

    r6502 r8362  
    1111        cp $(KDIR)/vmlinux.elf $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinux.elf 
    1212        gzip -9 -c $(KDIR)/vmlinux > $(KDIR)/vmlinux.bin.gz 
    13         $(STAGING_DIR)/bin/lzma e $(KDIR)/vmlinux $(KDIR)/vmlinux.bin.l7 
     13        $(STAGING_DIR_HOST)/bin/lzma e $(KDIR)/vmlinux $(KDIR)/vmlinux.bin.l7 
    1414        dd if=$(KDIR)/vmlinux.bin.l7 of=$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinux.lzma bs=65536 conv=sync 
    1515        dd if=$(KDIR)/vmlinux.bin.gz of=$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinux.gz bs=65536 conv=sync 
  • trunk/target/linux/au1000-2.6/image/Makefile

    r7333 r8362  
    3030 
    3131define Image/Prepare 
    32         cat $(KDIR)/vmlinux | $(STAGING_DIR)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma 
     32        cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma 
    3333         
    3434        # Build RAM image 
  • trunk/target/linux/brcm-2.4/image/Makefile

    r7731 r8362  
    1313 
    1414define Image/Prepare 
    15         cat $(KDIR)/vmlinux | $(STAGING_DIR)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma 
     15        cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma 
    1616        rm -f $(KDIR)/loader.gz 
    1717        $(MAKE) -C lzma-loader \ 
     
    3333 
    3434define Image/Build/CyberTAN 
    35         $(STAGING_DIR)/bin/addpattern -4 -p $(3) -v v$(4) -i $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).trx -o $(BIN_DIR)/openwrt-$(2)-$(KERNEL)-$(5).bin 
     35        $(STAGING_DIR_HOST)/bin/addpattern -4 -p $(3) -v v$(4) -i $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).trx -o $(BIN_DIR)/openwrt-$(2)-$(KERNEL)-$(5).bin 
    3636endef 
    3737 
    3838define Image/Build/Motorola 
    39         $(STAGING_DIR)/bin/motorola-bin -$(3) $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).trx $(BIN_DIR)/openwrt-$(2)-$(4).bin 
     39        $(STAGING_DIR_HOST)/bin/motorola-bin -$(3) $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).trx $(BIN_DIR)/openwrt-$(2)-$(4).bin 
    4040endef 
    4141 
    4242define Image/Build/USR 
    43         $(STAGING_DIR)/bin/trx2usr $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).trx $(BIN_DIR)/openwrt-$(2)-$(3).bin 
     43        $(STAGING_DIR_HOST)/bin/trx2usr $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).trx $(BIN_DIR)/openwrt-$(2)-$(3).bin 
    4444endef 
    4545 
     
    7979 
    8080define Image/Build 
    81         $(STAGING_DIR)/bin/trx -o $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).trx -f $(KDIR)/loader.gz -f $(KDIR)/vmlinux.lzma $(call trxalign/$(1),$(1)) 
     81        $(STAGING_DIR_HOST)/bin/trx -o $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).trx -f $(KDIR)/loader.gz -f $(KDIR)/vmlinux.lzma $(call trxalign/$(1),$(1)) 
    8282        $(call Image/Build/$(1),$(1)) 
    8383        $(call Image/Build/Motorola,$(1),wr850g,1,$(1)) 
  • trunk/target/linux/brcm63xx-2.6/image/Makefile

    r6896 r8362  
    3333 
    3434define Image/Prepare 
    35         cat $(KDIR)/vmlinux | $(STAGING_DIR)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma 
     35        cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma 
    3636        rm -f $(KDIR)/loader.gz 
    3737        $(MAKE) -C lzma-loader \ 
     
    4343 
    4444define Image/Build 
    45         $(STAGING_DIR)/bin/trx -o $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).trx -f $(KDIR)/loader.gz -f $(KDIR)/vmlinux.lzma $(call trxalign/$(1)) -f $(KDIR)/root.$(1) 
     45        $(STAGING_DIR_HOST)/bin/trx -o $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).trx -f $(KDIR)/loader.gz -f $(KDIR)/vmlinux.lzma $(call trxalign/$(1)) -f $(KDIR)/root.$(1) 
    4646endef 
    4747 
  • trunk/target/linux/rb532-2.6/image/Makefile

    r8073 r8362  
    2626 
    2727define Image/Prepare 
    28         cat $(KDIR)/vmlinux | $(STAGING_DIR)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma 
     28        cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma 
    2929        $(MAKE) -C $(GENERIC_PLATFORM_DIR)/image/lzma-loader $(LOADER_MAKEOPTS) clean compile 
    3030endef 
     
    5555 
    5656define Image/Build 
    57         $(STAGING_DIR)/bin/patch-cmdline $(KDIR)/vmlinux.elf '$(strip $(call Image/cmdline/$(1))) ' 
     57        $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux.elf '$(strip $(call Image/cmdline/$(1))) ' 
    5858        ./gen_image.sh $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).bin 4 $(KDIR)/vmlinux.elf $(CONFIG_TARGET_ROOTFS_FSPART) $(KDIR)/root.$(1) 
    5959endef 
     
    6161ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) 
    6262  define Image/Prepare 
    63         $(STAGING_DIR)/bin/patch-cmdline $(KDIR)/vmlinux '$(strip $(call Image/cmdline/yaffs2)) ' 
    64         cat $(KDIR)/vmlinux | $(STAGING_DIR)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma 
     63        $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux '$(strip $(call Image/cmdline/yaffs2)) ' 
     64        cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma 
    6565        $(MAKE) -C $(GENERIC_PLATFORM_DIR)/image/lzma-loader $(LOADER_MAKEOPTS) clean compile    
    6666  endef 
  • trunk/target/linux/rdc-2.6/image/Makefile

    r8328 r8362  
    2727        dd of=$(KDIR)/root.$(1) if=$(KDIR)/root.tmp $(call trxalign/$(1)) conv=sync 
    2828        rm -f $(KDIR)/root.tmp 
    29         $(STAGING_DIR)/bin/airlink -b 1 -j $(shell bash -c 'echo $$[$(3)]') $(KDIR)/bzImage $(KDIR)/root.$(1) $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1)-$(2).img 
     29        $(STAGING_DIR_HOST)/bin/airlink -b 1 -j $(shell bash -c 'echo $$[$(3)]') $(KDIR)/bzImage $(KDIR)/root.$(1) $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1)-$(2).img 
    3030endef 
    3131 
  • trunk/target/linux/x86-2.6/image/Makefile

    r6546 r8362  
    5050                -e 's#@BAUDRATE@#$(CONFIG_X86_GRUB_BAUDRATE)#g' \ 
    5151                ./grub/menu.lst > $(KDIR)/root.grub/boot/grub/menu.lst 
    52         PADDING="$(CONFIG_X86_GRUB_IMAGES_PAD)" PATH="$(STAGING_DIR)/usr/sbin:$(STAGING_DIR)/bin:$(PATH)" ./gen_image.sh $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).image $(CONFIG_X86_GRUB_KERNELPART) $(KDIR)/root.grub $(CONFIG_TARGET_ROOTFS_FSPART) $(KDIR)/root.$(1) 
     52        PADDING="$(CONFIG_X86_GRUB_IMAGES_PAD)" PATH="$(TARGET_PATH)" ./gen_image.sh $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).image $(CONFIG_X86_GRUB_KERNELPART) $(KDIR)/root.grub $(CONFIG_TARGET_ROOTFS_FSPART) $(KDIR)/root.$(1) 
    5353        $(call Image/Build/grub/$(1)) 
    5454  endef 
     
    5959        # for the image builder 
    6060        $(CP) \ 
    61                 $(STAGING_DIR)/usr/lib/grub/i386-pc/stage1 \ 
    62                 $(STAGING_DIR)/usr/lib/grub/i386-pc/stage2 \ 
    63                 $(STAGING_DIR)/usr/lib/grub/i386-pc/e2fs_stage1_5 \ 
     61                $(STAGING_DIR_HOST)/usr/lib/grub/i386-pc/stage1 \ 
     62                $(STAGING_DIR_HOST)/usr/lib/grub/i386-pc/stage2 \ 
     63                $(STAGING_DIR_HOST)/usr/lib/grub/i386-pc/e2fs_stage1_5 \ 
    6464                $(KDIR)/ 
    65         $(CP) $(STAGING_DIR)/usr/sbin/grub $(STAGING_DIR)/bin 
    6665  endef 
    6766endif 
  • trunk/target/linux/x86-2.6/image/grub/Makefile

    r6502 r8362  
    6666define Build/InstallDev 
    6767        $(MAKE) -C $(PKG_BUILD_DIR) \ 
    68                 DESTDIR="$(STAGING_DIR)" \ 
     68                DESTDIR="$(STAGING_DIR_HOST)" \ 
    6969                install 
     70        mv $(STAGING_DIR_HOST)/usr/sbin/grub $(STAGING_DIR_HOST)/bin 
    7071endef 
    7172 
  • trunk/toolchain/Makefile

    r8247 r8362  
    2020  $(curdir)/gcc/prepare:=$(curdir)/binutils/install 
    2121  $(curdir)/uClibc/compile:=$(curdir)/gcc/compile 
     22  $(curdir)/gcc/install:=$(curdir)/uClibc/compile 
     23  $(curdir)/uClibc/install:=$(curdir)/gcc/install 
    2224endif 
    23 $(curdir)/gcc/install:=$(curdir)/uClibc/install 
     25 
     26$(TOOLCHAIN_DIR)/info.mk: .config 
     27        @for dir in $(TOOLCHAIN_DIR); do ( \ 
     28                set -x; \ 
     29                mkdir -p "$$dir"; \ 
     30                cd "$$dir"; \ 
     31                mkdir -p bin lib include stamp; \ 
     32        ); done 
     33        @grep GCC_VERSION $@ >/dev/null 2>&1 || $(INSTALL_DATA) $(TOPDIR)/toolchain/info.mk $@ 
     34        @touch $@ 
    2435 
    2536# prerequisites for the individual targets 
    2637$(curdir)/ := .config prereq 
    27 $(curdir)//prepare = $(STAGING_DIR)/include-host/.done 
     38$(curdir)//prepare = $(STAGING_DIR)/.prepared $(TOOLCHAIN_DIR)/info.mk 
    2839$(curdir)//compile = $(1)/prepare 
    2940$(curdir)//install = $(1)/compile 
  • trunk/toolchain/binutils/Makefile

    r7752 r8362  
    88 
    99PKG_NAME:=binutils 
    10 PKG_VERSION:=$(strip $(subst ",, $(CONFIG_BINUTILS_VERSION)))#")) 
     10PKG_VERSION:=$(strip $(subst ",, $(CONFIG_BINUTILS_VERSION))) 
     11#")) 
    1112 
    1213PKG_SOURCE_URL:=http://ftp.gnu.org/gnu/binutils/ \ 
     
    1819 
    1920PKG_SOURCE:=binutils-$(PKG_VERSION).tar.bz2 
    20 PKG_MD5SUM:=unknown 
    21 PKG_BUILD_DIR:=$(TOOLCHAIN_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) 
    22 PKG_CAT:=bzcat 
    2321PATCH_DIR:=./patches/$(PKG_VERSION) 
     22STAGING_DIR_HOST:=$(TOOLCHAIN_DIR) 
     23BUILD_DIR_HOST:=$(BUILD_DIR_TOOLCHAIN) 
    2424 
    2525include $(INCLUDE_DIR)/host-build.mk 
     
    2828        (cd $(PKG_BUILD_DIR); \ 
    2929                ./configure \ 
    30                 --prefix=$(STAGING_DIR) \ 
     30                --prefix=$(STAGING_DIR_HOST) \ 
    3131                --build=$(GNU_HOST_NAME) \ 
    3232                --host=$(GNU_HOST_NAME) \ 
     
    3838 
    3939define Build/Compile 
    40         $(MAKE) -C $(PKG_BUILD_DIR) -j $(CONFIG_JLEVEL) all 
     40        $(MAKE) -C $(PKG_BUILD_DIR) all 
    4141endef 
    4242 
    4343define Build/Install 
    44         $(MAKE) -C $(PKG_BUILD_DIR) -j $(CONFIG_JLEVEL) install 
     44        $(MAKE) -C $(PKG_BUILD_DIR) install 
    4545endef 
    4646 
  • trunk/toolchain/gcc/Makefile

    r8250 r8362  
    2828        http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-$(PKG_VERSION) \ 
    2929        ftp://ftp.gnu.org/gnu/gcc/releases/gcc-$(PKG_VERSION) 
    30          
    3130PKG_SOURCE:=gcc-$(PKG_VERSION).tar.bz2 
    32 PKG_MD5SUM:=unknown 
    33 PKG_CAT:=bzcat 
    34  
    35 PKG_BUILD_DIR:=$(TOOLCHAIN_BUILD_DIR)/gcc-$(PKG_VERSION) 
    36  
    37 TARGET_LANGUAGES:=c 
    38 ifeq ($(CONFIG_INSTALL_LIBSTDCPP),y) 
    39 TARGET_LANGUAGES:=$(TARGET_LANGUAGES),c++ 
    40 endif 
    41 ifeq ($(CONFIG_INSTALL_LIBGCJ),y) 
    42 TARGET_LANGUAGES:=$(TARGET_LANGUAGES),java 
    43 endif 
     31STAGING_DIR_HOST:=$(TOOLCHAIN_DIR) 
     32BUILD_DIR_HOST:=$(BUILD_DIR_TOOLCHAIN) 
    4433 
    4534include $(INCLUDE_DIR)/host-build.mk 
    4635 
    47 STAMP_BUILT:=$(STAGING_DIR)/stampfiles/.host_gcc-initial_installed 
    48 BUILD_DIR1:=$(TOOLCHAIN_BUILD_DIR)/gcc-$(PKG_VERSION)-initial 
    49 BUILD_DIR2:=$(TOOLCHAIN_BUILD_DIR)/gcc-$(PKG_VERSION)-final 
     36STAMP_BUILT:=$(TOOLCHAIN_DIR)/stamp/.gcc-initial_installed 
     37BUILD_DIR1:=$(BUILD_DIR_HOST)/gcc-$(PKG_VERSION)-initial 
     38BUILD_DIR2:=$(BUILD_DIR_HOST)/gcc-$(PKG_VERSION)-final 
     39 
     40SEP:=, 
     41TARGET_LANGUAGES:="c$(if $(CONFIG_INSTALL_LIBSTDCPP),$(SEP)c++)$(if $(CONFIG_INSTALL_LIBGCJ),$(SEP)java)" 
    5042 
    5143define Stage1/Configure 
     44        $(SED) 's,TARGET_CROSS=.*,TARGET_CROSS=$(REAL_GNU_TARGET_NAME)-,' $(TOOLCHAIN_DIR)/info.mk 
     45        $(SED) 's,GCC_VERSION=.*,GCC_VERSION=$(PKG_VERSION),' $(TOOLCHAIN_DIR)/info.mk 
    5246        mkdir -p $(BUILD_DIR1) 
    5347        (cd $(BUILD_DIR1); rm -f config.cache; \ 
    5448                SHELL="$(BASH)" \ 
    5549                $(PKG_BUILD_DIR)/configure \ 
    56                 --prefix=$(STAGING_DIR) \ 
     50                --prefix=$(TOOLCHAIN_DIR) \ 
    5751                --build=$(GNU_HOST_NAME) \ 
    5852                --host=$(GNU_HOST_NAME) \ 
     
    6054                --enable-languages=c \ 
    6155                --disable-shared \ 
    62                 --with-sysroot=$(TOOLCHAIN_BUILD_DIR)/uClibc_dev/ \ 
     56                --with-sysroot=$(BUILD_DIR_HOST)/uClibc_dev/ \ 
    6357                --disable-__cxa_atexit \ 
    6458                --enable-target-optspace \ 
     
    7872        mkdir -p $(BUILD_DIR2) 
    7973        # Important!  Required for limits.h to be fixed. 
    80         rm -rf $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include 
    81         ln -sf ../include $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include 
    82         rm -rf $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/lib 
    83         ln -sf ../lib $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/lib 
     74        rm -rf $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include 
     75        ln -sf ../include $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include 
     76        rm -rf $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/lib 
     77        ln -sf ../lib $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/lib 
    8478        (cd $(BUILD_DIR2); rm -f config.cache; \ 
    8579                SHELL="$(BASH)" \ 
    8680                $(PKG_BUILD_DIR)/configure \ 
    87                 --prefix=$(STAGING_DIR) \ 
     81                --prefix=$(TOOLCHAIN_DIR) \ 
    8882                --build=$(GNU_HOST_NAME) \ 
    8983                --host=$(GNU_HOST_NAME) \ 
     
    9892        ); 
    9993endef 
     94 
    10095define Stage2/Compile 
    101         export SHELL="$(BASH)"; $(MAKE) -C $(BUILD_DIR2) all 
     96        $(MAKE) -C $(BUILD_DIR2) \ 
     97                SHELL="$(BASH)" \ 
     98                all 
    10299endef 
     100 
    103101define Stage2/Install 
    104         export SHELL="$(BASH)"; $(MAKE) -C $(BUILD_DIR2) install 
    105         echo $(PKG_VERSION) > $(STAGING_DIR)/gcc_version 
     102        $(MAKE) -C $(BUILD_DIR2) \ 
     103                SHELL="$(BASH)" \ 
     104                install 
    106105        # Set up the symlinks to enable lying about target name. 
    107106        set -e; \ 
    108         (cd $(STAGING_DIR); \ 
     107        (cd $(TOOLCHAIN_DIR); \ 
    109108                ln -sf $(REAL_GNU_TARGET_NAME) $(GNU_TARGET_NAME); \ 
    110109                cd bin; \ 
     
    130129define Build/Compile 
    131130        $(call Stage1/Compile) 
    132         $(call Stage1/Install) 
     131        $(if $(wildcard $(TOOLCHAIN_DIR)/bin/$(GNU_TARGET_NAME)-gcc),,$(call Stage1/Install)) 
    133132endef 
    134133 
     
    140139 
    141140define Build/Clean 
    142         rm -rf $(PKG_BUILD_DIR) 
    143         rm -rf $(BUILD_DIR1) 
    144         rm -rf $(BUILD_DIR2) 
    145         rm -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-gc* 
    146         rm -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-c* 
     141        rm -rf \ 
     142                $(PKG_BUILD_DIR) \ 
     143                $(BUILD_DIR1) \ 
     144                $(BUILD_DIR2) \ 
     145                $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME) \ 
     146                $(TOOLCHAIN_DIR)/bin/$(REAL_GNU_TARGET_NAME)-gc* \ 
     147                $(TOOLCHAIN_DIR)/bin/$(REAL_GNU_TARGET_NAME)-c* 
    147148endef 
    148149 
  • trunk/toolchain/gdb/Makefile

    r4945 r8362  
    1515PKG_CAT:=bzcat 
    1616 
    17 PKG_BUILD_DIR:=$(TOOLCHAIN_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) 
     17STAGING_DIR_HOST:=$(TOOLCHAIN_DIR) 
     18BUILD_DIR_HOST:=$(BUILD_DIR_TOOLCHAIN) 
    1819 
    1920include $(INCLUDE_DIR)/host-build.mk 
     
    2324                gdb_cv_func_sigsetjmp=yes \ 
    2425                $(PKG_BUILD_DIR)/configure \ 
    25                 --prefix=$(STAGING_DIR) \ 
     26                --prefix=$(TOOLCHAIN_DIR) \ 
    2627                --build=$(GNU_HOST_NAME) \ 
    2728                --host=$(GNU_HOST_NAME) \ 
     
    4142 
    4243define Build/Install 
    43         (cd $(STAGING_DIR)/bin; \ 
    44                 install -c $(PKG_BUILD_DIR)/gdb/gdb $(TARGET_CROSS)gdb; \ 
    45                 ln -fs $(TARGET_CROSS)gdb $(GNU_TARGET_NAME)-gdb; \ 
    46         ); 
     44        $(INSTALL_BIN) $(PKG_BUILD_DIR)/gdb/gdb $(TARGET_CROSS)gdb 
     45        ln -fs $(TARGET_CROSS)gdb $(TOOLCHAIN_DIR)/$(GNU_TARGET_NAME)-gdb; \ 
    4746endef 
    4847 
    4948define Build/Clean 
    5049        rm -rf $(PKG_BUILD_DIR) 
    51         rm -f $(STAGING_DIR)/bin/$(TARGET_CROSS)gdb 
    52         rm -f $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-gdb 
     50        rm -f $(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)gdb 
     51        rm -f $(TOOLCHAIN_DIR)/bin/$(GNU_TARGET_NAME)-gdb 
    5352endef 
    5453 
  • trunk/toolchain/kernel-headers/Makefile

    r8247 r8362  
    66# 
    77include $(TOPDIR)/rules.mk 
    8 include $(INCLUDE_DIR)/kernel.mk 
    98 
    10 PKG_NAME=kernel-headers 
    11 PKG_VERSION=$(LINUX_VERSION) 
     9PKG_NAME:=linux 
     10PKG_VERSION:=$(LINUX_VERSION) 
     11PKG_SOURCE:=$(LINUX_SOURCE) 
     12PKG_SOURCE_URL:=$(LINUX_SITE) 
    1213 
    13 PKG_SOURCE=$(LINUX_SOURCE) 
    14 PKG_SOURCE_URL=$(LINUX_SITE) 
     14KERNEL_BUILD_DIR := $(BUILD_DIR_TOOLCHAIN) 
     15PKG_BUILD_DIR := $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) 
     16LINUX_DIR := $(PKG_BUILD_DIR) 
     17BUILD_DIR := $(KERNEL_BUILD_DIR) 
    1518 
    16 PKG_BUILD_DIR:=$(TOOLCHAIN_BUILD_DIR)/linux-$(PKG_VERSION) 
    17  
    18 LINUX_DIR:=$(PKG_BUILD_DIR) 
    19 KERNEL_BUILD_DIR:=$(TOOLCHAIN_BUILD_DIR) 
     19STAGING_DIR_HOST:=$(TOOLCHAIN_DIR) 
     20BUILD_DIR_HOST:=$(BUILD_DIR_TOOLCHAIN) 
    2021override QUILT:= 
    2122 
     23include $(INCLUDE_DIR)/kernel.mk 
    2224include $(INCLUDE_DIR)/host-build.mk 
    2325include $(INCLUDE_DIR)/kernel-defaults.mk 
    2426 
    25  
    2627define Build/Prepare/cris 
    27         mkdir -p $(TOOLCHAIN_BUILD_DIR) 
     28        mkdir -p $(BUILD_DIR_TOOLCHAIN) 
    2829        bzcat $(DL_DIR)/$(PKG_SOURCE) | $(HOST_TAR) -C $(TOOLCHAIN_BUILD_DIR) $(TAR_OPTIONS) 
    2930        $(PATCH) $(PKG_BUILD_DIR) $(TOPDIR)/target/linux/etrax-2.6/patches/generic_2.6 
    3031        $(PATCH) $(PKG_BUILD_DIR) $(TOPDIR)/target/linux/etrax-2.6/patches/cris 
    31         ln -sf $(PKG_BUILD_DIR)/include/asm-cris/arch-v10 $(PKG_BUILD_DIR)/include/asm-cris/arch 
    32         ln -sf $(PKG_BUILD_DIR)/arch/cris/arch-v10 $(PKG_BUILD_DIR)/arch/cris/arch 
    33         $(SED) 's/@expr length/@-expr length/' $(PKG_BUILD_DIR)/Makefile 
    34         ln -sf $(PKG_BUILD_DIR) $(LINUX_HEADERS_DIR) 
     32        ln -sf arch-v10 $(PKG_BUILD_DIR)/include/asm-cris/arch 
     33        ln -sf arch-v10 $(PKG_BUILD_DIR)/arch/cris/arch 
    3534endef 
    3635 
     
    4948        CONFIG_SHELL=$(BASH) 
    5049 
    51 define Build/Prepare/Default 
    52         $(call Kernel/Prepare/Default) 
     50define Build/Prepare 
     51        $(if $(Build/Prepare/$(ARCH)),$(Build/Prepare/$(ARCH)),$(call Kernel/Prepare/Default)) 
    5352        $(SED) 's/@expr length/@-expr length/' $(PKG_BUILD_DIR)/Makefile 
    54         ln -sf $(PKG_BUILD_DIR) $(LINUX_HEADERS_DIR) 
    55 endef 
    56  
    57 define Build/Prepare 
    58         $(if $(Build/Prepare/$(ARCH)),$(Build/Prepare/$(ARCH)),$(Build/Prepare/Default)) 
     53        ln -sf linux-$(LINUX_VERSION) $(LINUX_HEADERS_DIR) 
    5954        yes '' | $(KMAKE) oldconfig 
    6055        $(KMAKE) include/linux/version.h include/asm 
  • trunk/toolchain/uClibc/Makefile

    r8249 r8362  
    1717PKG_CAT:=bzcat 
    1818 
    19 PKG_BUILD_DIR:=$(TOOLCHAIN_BUILD_DIR)/uClibc-$(PKG_VERSION)$(PKG_EXTRAVERSION) 
     19STAGING_DIR_HOST:=$(TOOLCHAIN_DIR) 
     20BUILD_DIR_HOST:=$(BUILD_DIR_TOOLCHAIN) 
     21PKG_BUILD_DIR:=$(BUILD_DIR_HOST)/uClibc-$(PKG_VERSION)$(PKG_EXTRAVERSION) 
    2022 
    2123include $(INCLUDE_DIR)/host-build.mk 
     24 
     25STAMP_BUILT:=$(TOOLCHAIN_DIR)/stamp/.uclibc_installed 
     26STAMP_INSTALLED:=$(TOOLCHAIN_DIR)/stamp/.uclibc-utils_installed 
    2227 
    2328UCLIBC_TARGET_ARCH:=$(shell echo $(ARCH) | sed -e s'/-.*//' \ 
     
    3843define Build/Prepare 
    3944        $(call Build/Prepare/Default) 
    40         if [ -e config/$(ARCH).$(BOARD) ]; then \ 
    41                 $(CP) config/$(ARCH).$(BOARD) $(PKG_BUILD_DIR)/.config; \ 
    42         else \ 
    43                 $(CP) config/$(ARCH) $(PKG_BUILD_DIR)/.config; \ 
    44         fi 
     45        $(CP) config/$(ARCH)$(if $(wildcard config/$(ARCH).$(BOARD)),$(BOARD)) $(PKG_BUILD_DIR)/.config 
    4546        $(SED) 's,^KERNEL_SOURCE=.*,KERNEL_SOURCE=\"$(LINUX_HEADERS_DIR)\",g' \ 
     47                -e 's,.*HAS_FPU.*,HAS_FPU=$(if $(CONFIG_SOFT_FLOAT),n\nUCLIBC_HAS_FLOATS=y\nUCLIBC_HAS_SOFT_FLOAT=y,y),g' \ 
     48                -e 's,^.*UCLIBC_HAS_LFS.*,UCLIBC_HAS_LFS=$(if $(CONFIG_LARGEFILE),y,n),g' \ 
     49                -e 's,.*DO_C99_MATH.*,DO_C99_MATH=$(if $(CONFIG_C99_MATH),y,n),g' \ 
    4650                $(PKG_BUILD_DIR)/.config 
    47 ifeq ($(CONFIG_LARGEFILE),y) 
    48         $(SED) 's,^.*UCLIBC_HAS_LFS.*,UCLIBC_HAS_LFS=y,g' $(PKG_BUILD_DIR)/.config 
    49 else 
    50         $(SED) 's,^.*UCLIBC_HAS_LFS.*,UCLIBC_HAS_LFS=n,g' $(PKG_BUILD_DIR)/.config 
    51 endif 
    52         $(SED) 's,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y,g' $(PKG_BUILD_DIR)/.config 
    53 ifeq ($(CONFIG_SOFT_FLOAT),y) 
    54         $(SED) 's,.*HAS_FPU.*,HAS_FPU=n\nUCLIBC_HAS_FLOATS=y\nUCLIBC_HAS_SOFT_FLOAT=y,g' $(PKG_BUILD_DIR)/.config 
    55 endif 
    56 ifeq ($(CONFIG_C99_MATH),y) 
    57         $(SED) 's,.*DO_C99_MATH.*,DO_C99_MATH=y,g' $(PKG_BUILD_DIR)/.config 
    58 endif 
    59         mkdir -p $(TOOLCHAIN_BUILD_DIR)/uClibc_dev/usr/include 
    60         mkdir -p $(TOOLCHAIN_BUILD_DIR)/uClibc_dev/usr/lib 
    61         mkdir -p $(TOOLCHAIN_BUILD_DIR)/uClibc_dev/lib 
     51        mkdir -p $(BUILD_DIR_HOST)/uClibc_dev/usr/include 
     52        mkdir -p $(BUILD_DIR_HOST)/uClibc_dev/usr/lib 
     53        mkdir -p $(BUILD_DIR_HOST)/uClibc_dev/lib 
    6254        PATH=$(TARGET_PATH) $(MAKE) -C $(PKG_BUILD_DIR) \ 
    63                 PREFIX=$(TOOLCHAIN_BUILD_DIR)/uClibc_dev/ \ 
     55                PREFIX=$(BUILD_DIR_HOST)/uClibc_dev/ \ 
    6456                DEVEL_PREFIX=/usr/ \ 
    65                 RUNTIME_PREFIX=$(TOOLCHAIN_BUILD_DIR)/uClibc_dev/ \ 
     57                RUNTIME_PREFIX=$(BUILD_DIR_HOST)/uClibc_dev/ \ 
    6658                HOSTCC="$(HOSTCC)" \ 
    6759                CPU_CFLAGS="$(TARGET_CFLAGS)" \ 
     
    7264endef 
    7365 
    74 define Build/Compile 
    75         $(SED) 's,^CROSS=.*,CROSS=$(TARGET_CROSS),g' $(PKG_BUILD_DIR)/Rules.mak 
    76         PATH=$(TARGET_PATH) $(MAKE) -C $(PKG_BUILD_DIR) \ 
    77                 PREFIX= \ 
     66UCLIBC_MAKE := PATH=$(TARGET_PATH) $(MAKE) -C $(PKG_BUILD_DIR) \ 
    7867                DEVEL_PREFIX=/ \ 
    7968                RUNTIME_PREFIX=/ \ 
    8069                HOSTCC="$(HOSTCC)" \ 
    81                 CPU_CFLAGS="$(TARGET_CFLAGS)" \ 
    82                 all 
     70                CPU_CFLAGS="$(TARGET_CFLAGS)" 
     71 
     72define Build/Compile 
     73        $(SED) 's,^CROSS=.*,CROSS=$(TARGET_CROSS),g' $(PKG_BUILD_DIR)/Rules.mak 
     74        $(UCLIBC_MAKE) PREFIX= all  
     75        $(UCLIBC_MAKE) PREFIX=$(STAGING_DIR_HOST)/ install_runtime install_dev 
     76        $(SED) 's,UCLIBC_VERSION=.*,UCLIBC_VERSION=$(PKG_VERSION),' $(TOOLCHAIN_DIR)/info.mk 
     77        $(SED) 's,UCLIBC_PATCHVER=.*,UCLIBC_PATCHVER=$(PKG_EXTRAVERSION),' $(TOOLCHAIN_DIR)/info.mk 
    8378endef 
    8479 
    8580define Build/Install 
    86         $(MAKE) -C $(PKG_BUILD_DIR) \ 
    87                 PREFIX=$(STAGING_DIR)/ \ 
    88                 DEVEL_PREFIX=/ \ 
    89                 RUNTIME_PREFIX=/ \ 
    90                 install_runtime 
    91         $(MAKE) -C $(PKG_BUILD_DIR) \ 
    92                 PREFIX=$(STAGING_DIR)/ \ 
    93                 DEVEL_PREFIX=/ \ 
    94                 RUNTIME_PREFIX=/ \ 
    95                 install_dev 
    96         echo $(PKG_VERSION) > $(STAGING_DIR)/uclibc_version 
    97         echo $(PKG_VERSION)$(PKG_EXTRAVERSION) > $(STAGING_DIR)/uclibc_extra_version 
     81        $(UCLIBC_MAKE) PREFIX= utils 
     82        $(INSTALL_DIR) $(TOOLCHAIN_DIR)/target-utils 
     83        $(INSTALL_BIN) \ 
     84                $(PKG_BUILD_DIR)/utils/ldd \ 
     85                $(PKG_BUILD_DIR)/utils/ldconfig \ 
     86                $(TOOLCHAIN_DIR)/target-utils/ 
    9887endef 
    9988 
    10089define Build/Clean 
    101         rm -rf $(PKG_BUILD_DIR) $(TOOLCHAIN_BUILD_DIR)/uClibc_dev 
     90        rm -rf $(PKG_BUILD_DIR) $(BUILD_DIR_HOST)/uClibc_dev 
    10291endef 
    10392 
  • trunk/tools/Makefile

    r8253 r8362  
    1616 
    1717# preparatory work 
    18 define copy_include 
    19 $(STAGING_DIR)/include-host/.done: 
    20         @mkdir -p $$$$(dirname $$@) 
    21         @cp $(1)/include/*.h $$$$(dirname $$@)/ 
    22         @touch $$@ 
    23 $(curdir)//prepare = $(STAGING_DIR)/include-host/.done 
    24 $(curdir)//compile = $(STAGING_DIR)/include-host/.done 
    25 endef 
    26 $(eval $(call copy_include,$(curdir))) 
     18$(STAGING_DIR)/.prepared: $(TMP_DIR)/.build 
     19        @for dir in $(STAGING_DIR) $(STAGING_DIR_HOST); do ( \ 
     20                set -x; \ 
     21                mkdir -p "$$dir"; \ 
     22                cd "$$dir"; \ 
     23                mkdir -p bin lib include stamp; \ 
     24        ); done 
     25        mkdir -p $(BUILD_DIR_HOST)/stamp $(BUILD_DIR)/stamp 
     26        $(INSTALL_DATA) $(TOPDIR)/tools/include/*.h $(STAGING_DIR_HOST)/include/ 
     27        touch $@ 
     28 
     29$(curdir)//prepare = $(STAGING_DIR)/.prepared 
     30$(curdir)//compile = $(STAGING_DIR)/.prepared 
    2731 
    2832# prerequisites for the individual targets 
  • trunk/tools/ccache/Makefile

    r6413 r8362  
    1616PKG_CAT:=zcat 
    1717 
    18 PKG_BUILD_DIR:=$(TOOLCHAIN_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) 
    19  
    2018include $(INCLUDE_DIR)/host-build.mk 
    2119 
     
    2725  define Build/Install 
    2826        $(MAKE) -C $(PKG_BUILD_DIR) \ 
    29                 DESTDIR="$(STAGING_DIR)" \ 
     27                DESTDIR="$(STAGING_DIR_HOST)" \ 
    3028                install 
    3129  endef 
  • trunk/tools/ext2fs/Makefile

    r5019 r8362  
    1616PKG_MD5SUM:=664431bf6737df1c265500e1f0b5d40c 
    1717PKG_CAT:=zcat 
    18  
    19 PKG_BUILD_DIR:=$(TOOL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) 
    2018 
    2119include $(INCLUDE_DIR)/host-build.mk 
     
    4442define Build/Compile 
    4543        $(MAKE) -C $(PKG_BUILD_DIR) \ 
    46                 CFLAGS="-O2 -I $(STAGING_DIR)/include-host -include getline.h" \ 
     44                CFLAGS="$(HOST_CFLAGS) -include getline.h" \ 
    4745                all 
    4846endef 
    4947 
    5048define Build/Install 
    51         mkdir -p $(STAGING_DIR)/bin 
    52         install -m0755 $(PKG_BUILD_DIR)/genext2fs $(STAGING_DIR)/bin/ 
     49        install -m0755 $(PKG_BUILD_DIR)/genext2fs $(STAGING_DIR_HOST)/bin/ 
    5350endef 
    5451 
    5552define Build/Clean 
    56         rm -f $(STAGING_DIR)/bin/genext2fs 
     53        rm -f $(STAGING_DIR_HOST)/bin/genext2fs 
    5754endef 
    5855 
  • trunk/tools/firmware-utils/Makefile

    r8318 r8362  
    88 
    99PKG_NAME := firmware-utils 
    10 PKG_BUILD_DIR:=$(TOOL_BUILD_DIR)/firmware-utils 
    1110 
    1211include $(INCLUDE_DIR)/host-build.mk 
    1312 
    14 CFLAGS := -O2 -I $(STAGING_DIR)/include-host -include endian.h 
    15  
    1613define cc 
    17         $(CC) $(CFLAGS) -o $(PKG_BUILD_DIR)/bin/$(1) src/$(1).c 
     14        $(CC) $(HOST_CFLAGS) -include endian.h -o $(PKG_BUILD_DIR)/bin/$(1) src/$(1).c 
    1815endef 
    1916 
     
    3431 
    3532define Build/Install 
    36         $(CP) $(PKG_BUILD_DIR)/bin/* $(STAGING_DIR)/bin 
     33        $(CP) $(PKG_BUILD_DIR)/bin/* $(STAGING_DIR_HOST)/bin/ 
    3734endef 
    3835 
  • trunk/tools/ipkg-utils/Makefile

    r4866 r8362  
    1515PKG_CAT:=zcat 
    1616 
    17 PKG_BUILD_DIR:=$(TOOL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) 
    18  
    1917include $(INCLUDE_DIR)/host-build.mk 
    2018 
     
    2321        echo "dest root /" > $(STAGING_DIR)/etc/ipkg.conf 
    2422        echo "option offline_root $(TARGET_DIR)" >> $(STAGING_DIR)/etc/ipkg.conf 
    25         mkdir -p $(STAGING_DIR)/usr/bin 
    26         install -m0755 $(PKG_BUILD_DIR)/ipkg-build $(STAGING_DIR)/usr/bin/ 
    27         install -m0755 $(PKG_BUILD_DIR)/ipkg-buildpackage $(STAGING_DIR)/usr/bin/ 
    28         install -m0755 $(PKG_BUILD_DIR)/ipkg-make-index $(STAGING_DIR)/usr/bin/ 
    29         install -m0755 $(PKG_BUILD_DIR)/ipkg.py $(STAGING_DIR)/usr/bin/ 
     23        $(INSTALL_BIN) \ 
     24                $(PKG_BUILD_DIR)/ipkg-build \ 
     25                $(PKG_BUILD_DIR)/ipkg-buildpackage \ 
     26                $(PKG_BUILD_DIR)/ipkg-make-index \ 
     27                $(PKG_BUILD_DIR)/ipkg.py \ 
     28                $(STAGING_DIR_HOST)/bin/ 
    3029endef 
    3130 
    3231define Build/Clean 
    3332        rm -f $(STAGING_DIR)/etc/ipkg.conf 
    34         rm -f $(STAGING_DIR)/usr/bin/ipkg* 
     33        rm -f $(STAGING_DIR_HOST)/bin/ipkg* 
    3534endef 
    3635 
  • trunk/tools/lzma/Makefile

    r5094 r8362  
    1414PKG_MD5SUM:=155c1ebce5bc6710ae7ecc926226d9d7 
    1515 
    16 PKG_BUILD_DIR:=$(TOOL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/lzma 
     16PKG_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)/lzma 
     17PKG_UNPACK:=bzcat $(DL_DIR)/$(PKG_SOURCE) | $(TAR) -C $(PKG_BUILD_DIR)/ $(TAR_OPTIONS) 
    1718 
    1819include $(INCLUDE_DIR)/host-build.mk 
     
    2021LIB_DIR=$(PKG_BUILD_DIR)/C/7zip/Compress/LZMA_Lib 
    2122ALONE_DIR=$(PKG_BUILD_DIR)/C/7zip/Compress/LZMA_Alone 
    22  
    23 define Build/Prepare 
    24         bzcat $(DL_DIR)/$(PKG_SOURCE) | $(TAR) -C $(PKG_BUILD_DIR)/ $(TAR_OPTIONS) 
    25         $(PATCH) $(PKG_BUILD_DIR) ./patches 
    26 endef 
    2723 
    2824define Build/Compile 
     
    3228 
    3329define Build/Install 
    34         mkdir -p $(STAGING_DIR)/host/lib 
    35         $(CP) $(LIB_DIR)/liblzma.a $(STAGING_DIR)/host/lib/ 
    36         mkdir -p $(STAGING_DIR)/bin 
    37         $(CP) $(ALONE_DIR)/lzma $(STAGING_DIR)/bin/ 
     30        $(INSTALL_DATA) $(LIB_DIR)/liblzma.a $(STAGING_DIR_HOST)/lib/ 
     31        $(INSTALL_BIN) $(ALONE_DIR)/lzma $(STAGING_DIR_HOST)/bin/ 
    3832endef 
    3933 
    4034define Build/Clean 
    41         rm -f $(STAGING_DIR)/host/lib/liblzma.a $(STAGING_DIR)/bin/lzma 
     35        rm -f \ 
     36                $(STAGING_DIR_HOST)/lib/liblzma.a \ 
     37                $(STAGING_DIR_HOST)/bin/lzma 
    4238endef 
    4339 
  • trunk/tools/mkimage/Makefile

    r7156 r8362  
    88 
    99PKG_NAME:=mkimage 
    10 PKG_BUILD_DIR:=$(TOOL_BUILD_DIR)/mkimage 
    1110 
    1211include $(INCLUDE_DIR)/host-build.mk 
    1312 
    1413define Build/Compile 
    15         $(CC) -O -c src/crc32.c -o $(PKG_BUILD_DIR)/crc32.o 
    16         $(CC) -O -c src/mkimage.c -o $(PKG_BUILD_DIR)/mkimage.o 
    17         $(CC) -O -o $(PKG_BUILD_DIR)/mkimage $(PKG_BUILD_DIR)/mkimage.o $(PKG_BUILD_DIR)/crc32.o 
     14        $(HOSTCC) $(HOST_CFLAGS) -O -c src/crc32.c -o $(PKG_BUILD_DIR)/crc32.o 
     15        $(HOSTCC) $(HOST_CFLAGS) -O -c src/mkimage.c -o $(PKG_BUILD_DIR)/mkimage.o 
     16        $(HOSTCC) $(HOST_CFLAGS) -O -o $(PKG_BUILD_DIR)/mkimage $(PKG_BUILD_DIR)/mkimage.o $(PKG_BUILD_DIR)/crc32.o 
    1817endef 
    1918 
    2019define Build/Install 
    21         mkdir -p $(STAGING_DIR)/bin 
    22         $(CP) $(PKG_BUILD_DIR)/mkimage $(STAGING_DIR)/bin/ 
     20        $(CP) $(PKG_BUILD_DIR)/mkimage $(STAGING_DIR_HOST)/bin/ 
    2321endef 
    2422 
    2523define Build/Clean 
    26         rm -f $(STAGING_DIR)/bin/mkimage 
     24        rm -f $(STAGING_DIR_HOST)/bin/mkimage 
    2725endef 
    2826 
  • trunk/tools/mtd-utils/Makefile

    r5030 r8362  
    1515PKG_CAT:=zcat 
    1616 
    17 PKG_BUILD_DIR:=$(TOOL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).orig 
     17PKG_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION).orig 
    1818 
    1919include $(INCLUDE_DIR)/host-build.mk 
    2020 
    21 CFLAGS := $(HOSTCFLAGS) -O2 -I../include 
     21CFLAGS := $(HOST_CFLAGS) -I../include 
    2222ifneq ($(HOST_OS),Linux) 
    23 CFLAGS += -Dloff_t=off_t -D__BYTE_ORDER=BYTE_ORDER -I$(STAGING_DIR)/include-host -include getline.h -include endian.h 
     23CFLAGS += -Dloff_t=off_t -D__BYTE_ORDER=BYTE_ORDER -include getline.h -include endian.h 
    2424endif 
    2525 
     
    2929 
    3030define Build/Install 
    31         mkdir -p $(STAGING_DIR)/bin 
    32         $(CP) $(PKG_BUILD_DIR)/util/mkfs.jffs2 $(STAGING_DIR)/bin/ 
     31        $(CP) $(PKG_BUILD_DIR)/util/mkfs.jffs2 $(STAGING_DIR_HOST)/bin/ 
    3332endef 
    3433 
    3534define Build/Clean 
    36         rm -f $(STAGING_DIR)/bin/mkfs.jffs2 
     35        rm -f $(STAGING_DIR_HOST)/bin/mkfs.jffs2 
    3736endef 
    3837 
  • trunk/tools/patch-cmdline/Makefile

    r7820 r8362  
    99PKG_NAME:=patch-cmdline 
    1010 
    11 PKG_BUILD_DIR:=$(TOOL_BUILD_DIR)/$(PKG_NAME) 
    12  
    1311include $(INCLUDE_DIR)/host-build.mk 
    1412 
    15 OS:=$(shell uname) 
    16 ifeq ($(HOST_OS),Darwin) 
    17   CFLAGS += -I./include 
    18 endif 
    19 CFLAGS += -I $(TOPDIR)/tools/include -include endian.h 
    20  
    2113define Build/Compile 
    22         $(CC) $(CFLAGS) -o $(PKG_BUILD_DIR)/$(PKG_NAME) src/$(PKG_NAME).c 
     14        $(HOSTCC) $(HOST_CFLAGS) -include endian.h -o $(PKG_BUILD_DIR)/$(PKG_NAME) src/$(PKG_NAME).c 
    2315endef 
    2416 
    2517define Build/Install 
    26         mkdir -p $(STAGING_DIR)/bin 
    27         $(CP) $(PKG_BUILD_DIR)/patch-cmdline $(STAGING_DIR)/bin/ 
     18        $(CP) $(PKG_BUILD_DIR)/patch-cmdline $(STAGING_DIR_HOST)/bin/ 
    2819endef 
    2920 
    3021define Build/Clean 
    31         -rm -f $(STAGING_DIR)/bin/patch-cmdline 
     22        rm -f $(STAGING_DIR_HOST)/bin/patch-cmdline 
    3223endef 
    3324 
  • trunk/tools/sed/Makefile

    r5509 r8362  
    1414PKG_MD5SUM:=928f0e06422f414091917401f1a834d0 
    1515PKG_CAT:=zcat 
    16  
    17 PKG_BUILD_DIR:=$(TOOL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) 
     16export SED:= 
    1817 
    1918include $(INCLUDE_DIR)/host-build.mk 
    20  
    21 define Build/Configure 
    22         (cd $(PKG_BUILD_DIR); rm -rf config.cache; \ 
    23                 SHELL="$(BASH)" \ 
    24                 ./configure \ 
    25                 --prefix=$(STAGING_DIR) \ 
    26                 --prefix=/usr \ 
    27         ); 
    28 endef 
    2919 
    3020define Build/Compile 
     
    3323 
    3424define Build/Install 
    35         @if [ -L $(STAGING_DIR)/bin/sed ] ; then \ 
    36                 rm -f $(STAGING_DIR)/bin/sed; fi; 
    37         @if [ ! -f $(STAGING_DIR)/bin/sed -o $(STAGING_DIR)/bin/sed -ot $(PKG_BUILD_DIR)/sed/sed ]; then \ 
    38             set -x; \ 
    39             mkdir -p $(STAGING_DIR)/bin; \ 
    40             $(MAKE) DESTDIR=$(STAGING_DIR) -C $(PKG_BUILD_DIR) install; \ 
    41             mv $(STAGING_DIR)/usr/bin/sed $(STAGING_DIR)/bin/; \ 
    42             rm -rf $(STAGING_DIR)/share/locale $(STAGING_DIR)/usr/info \ 
    43                     $(STAGING_DIR)/usr/man $(STAGING_DIR)/usr/share/doc; \ 
    44         fi 
     25        $(INSTALL_BIN) $(PKG_BUILD_DIR)/sed/sed $(STAGING_DIR_HOST)/bin/ 
     26endef 
     27 
     28define Build/Clean 
     29        rm -f $(STAGING_DIR_HOST)/bin/sed 
    4530endef 
    4631 
  • trunk/tools/squashfs/Makefile

    r4866 r8362  
    1515PKG_CAT:=zcat 
    1616 
    17 PKG_BUILD_DIR:=$(TOOL_BUILD_DIR)/$(PKG_NAME)$(PKG_VERSION) 
     17PKG_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)$(PKG_VERSION) 
    1818 
    1919include $(INCLUDE_DIR)/host-build.mk 
    2020 
    2121define Build/Compile 
    22         $(MAKE) -C $(PKG_BUILD_DIR)/squashfs-tools mksquashfs-lzma LZMAPATH=$(STAGING_DIR)/host/lib 
     22        $(MAKE) -C $(PKG_BUILD_DIR)/squashfs-tools \ 
     23                LZMAPATH=$(STAGING_DIR_HOST)/lib \ 
     24                mksquashfs-lzma  
    2325endef 
    2426 
    2527define Build/Install 
    26         mkdir -p $(STAGING_DIR)/bin 
    27         $(CP) $(PKG_BUILD_DIR)/squashfs-tools/mksquashfs-lzma $(STAGING_DIR)/bin/ 
     28        $(INSTALL_BIN) $(PKG_BUILD_DIR)/squashfs-tools/mksquashfs-lzma $(STAGING_DIR_HOST)/bin/ 
    2829endef 
    2930 
    3031define Build/Clean 
    31         rm -f $(STAGING_DIR)/bin/mksquashfs-lzma 
     32        rm -f $(STAGING_DIR_HOST)/bin/mksquashfs-lzma 
    3233endef 
    3334 
  • trunk/tools/sstrip/Makefile

    r7156 r8362  
    88 
    99PKG_NAME:=sstrip 
    10 PKG_BUILD_DIR:=$(TOOL_BUILD_DIR)/sstrip 
    1110 
    1211include $(INCLUDE_DIR)/host-build.mk 
    1312 
    14 OS:=$(shell uname) 
    15 ifeq ($(HOST_OS),Darwin) 
    16   CFLAGS += -I./include 
    17 endif 
    18 CFLAGS += -I $(TOPDIR)/tools/include -include endian.h 
    19  
    2013define Build/Compile 
    21         $(CC) $(CFLAGS) -o $(PKG_BUILD_DIR)/sstrip src/sstrip.c 
     14        $(CC) $(HOST_CFLAGS) -include endian.h -o $(PKG_BUILD_DIR)/sstrip src/sstrip.c 
    2215endef 
    2316 
    2417define Build/Install 
    25         mkdir -p $(STAGING_DIR)/bin 
    26         $(CP) $(PKG_BUILD_DIR)/sstrip $(STAGING_DIR)/bin/ 
     18        $(CP) $(PKG_BUILD_DIR)/sstrip $(STAGING_DIR_HOST)/bin/ 
    2719endef 
    2820 
    2921define Build/Clean 
    30         rm -f $(STAGING_DIR)/bin/sstrip 
     22        rm -f $(STAGING_DIR_HOST)/bin/sstrip 
    3123endef 
    3224 
Note: See TracChangeset for help on using the changeset viewer.