mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-23 23:16:16 +02:00
move target/default/target_skeleton into package/base-files, put all the default files in ipkg packages, cleanup some junk in toolchain/, toolchain/ no longer changes build_mipsel/root
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1494 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
1ab4141e38
commit
7619fe0848
7
Makefile
7
Makefile
@ -77,9 +77,9 @@ package_install: package_compile toolchain
|
|||||||
# In this section, we need .config
|
# In this section, we need .config
|
||||||
include .config.cmd
|
include .config.cmd
|
||||||
|
|
||||||
world: $(DL_DIR) $(BUILD_DIR) configtest target_prepare $(TARGET_DIR) toolchain_install package_install target_install package_index
|
world: $(DL_DIR) $(BUILD_DIR) configtest toolchain_install package_install target_install package_index
|
||||||
|
|
||||||
.PHONY: all world clean dirclean distclean image_clean target_clean source target_prepare target_install toolchain_install package_install configtest
|
.PHONY: all world clean dirclean distclean image_clean target_clean source target_install toolchain_install package_install configtest
|
||||||
|
|
||||||
configtest:
|
configtest:
|
||||||
-cp .config .config.test
|
-cp .config .config.test
|
||||||
@ -90,9 +90,6 @@ package_index:
|
|||||||
$(STAGING_DIR)/usr/bin/ipkg-make-index . > Packages \
|
$(STAGING_DIR)/usr/bin/ipkg-make-index . > Packages \
|
||||||
)
|
)
|
||||||
|
|
||||||
target_prepare:
|
|
||||||
$(MAKE) -C target prepare
|
|
||||||
|
|
||||||
target_compile:
|
target_compile:
|
||||||
$(MAKE) -C target compile
|
$(MAKE) -C target compile
|
||||||
|
|
||||||
|
@ -146,11 +146,16 @@ DEV_LIBS:=tcp_wrappers glib ncurses openssl pcre popt zlib libnet libpcap mysql
|
|||||||
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))
|
||||||
|
COMPILE_PACKAGES:=$(patsubst %,%-compile,$(package-y) $(package-m))
|
||||||
|
INSTALL_PACKAGES:=$(patsubst %,%-install,$(package-y))
|
||||||
|
|
||||||
all: compile install
|
all: compile install
|
||||||
clean: $(patsubst %,%-clean,$(package-) $(package-y) $(package-m))
|
clean: $(patsubst %,%-clean,$(package-) $(package-y) $(package-m))
|
||||||
compile: $(patsubst %,%-compile,$(package-y) $(package-m))
|
compile: $(COMPILE_PACKAGES)
|
||||||
install: $(patsubst %,%-install,$(package-y))
|
install: base-files-install $(INSTALL_PACKAGES)
|
||||||
|
|
||||||
|
$(COMPILE_PACKAGES): base-files-install
|
||||||
|
$(INSTALL_PACKAGES): base-files-install
|
||||||
|
|
||||||
amwall-compile: libamsel-compile
|
amwall-compile: libamsel-compile
|
||||||
arpwatch-compile: libpcap-compile
|
arpwatch-compile: libpcap-compile
|
||||||
|
64
package/base-files/Makefile
Normal file
64
package/base-files/Makefile
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
# $Id$
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=base-files
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
IDIR_BASE:=$(BUILD_DIR)/base-files
|
||||||
|
IPKG_BASE:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_RELEASE)_$(ARCH).ipk
|
||||||
|
|
||||||
|
LIBC_VERSION:=${shell cat $(STAGING_DIR)/uclibc_version}
|
||||||
|
IDIR_LIBC:=$(BUILD_DIR)/uclibc
|
||||||
|
IPKG_LIBC:=$(PACKAGE_DIR)/uclibc_$(LIBC_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
|
||||||
|
|
||||||
|
GCC_VERSION:=${shell cat $(STAGING_DIR)/gcc_version}
|
||||||
|
IDIR_GCC:=$(BUILD_DIR)/libgcc
|
||||||
|
IPKG_GCC:=$(PACKAGE_DIR)/libgcc_$(GCC_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
|
||||||
|
|
||||||
|
PACKAGES:=$(IPKG_BASE) $(IPKG_LIBC) $(IPKG_GCC)
|
||||||
|
|
||||||
|
$(PACKAGE_DIR):
|
||||||
|
mkdir -p $(PACKAGE_DIR)
|
||||||
|
|
||||||
|
$(IPKG_BASE): $(PACKAGE_DIR)
|
||||||
|
$(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_BASE) ipkg/$(PKG_NAME).control $(PKG_RELEASE) $(ARCH)
|
||||||
|
cp -a ./default/* $(IDIR_BASE)
|
||||||
|
mkdir -p $(IDIR_BASE)/jffs
|
||||||
|
mkdir -p $(IDIR_BASE)/dev
|
||||||
|
mkdir -p $(IDIR_BASE)/proc
|
||||||
|
mkdir -p $(IDIR_BASE)/tmp
|
||||||
|
mkdir -p $(IDIR_BASE)/lib
|
||||||
|
mkdir -p $(IDIR_BASE)/usr/lib
|
||||||
|
mkdir -p $(IDIR_BASE)/usr/bin
|
||||||
|
ln -sf /tmp/resolv.conf $(IDIR_BASE)/etc/resolv.conf
|
||||||
|
rm -rf $(IDIR_BASE)/var
|
||||||
|
ln -sf /tmp $(IDIR_BASE)/var
|
||||||
|
-find $(IDIR_BASE) -type d -name CVS | xargs rm -rf
|
||||||
|
-find $(IDIR_BASE) -type d -name .svn | xargs rm -rf
|
||||||
|
mkdir -p $(IDIR_BASE)/etc
|
||||||
|
-grep \^BR2_SYSCONF $(TOPDIR)/.config > $(IDIR_BASE)/etc/sysconf
|
||||||
|
$(IPKG_BUILD) $(IDIR_BASE) $(PACKAGE_DIR)
|
||||||
|
|
||||||
|
$(IPKG_LIBC): $(PACKAGE_DIR)
|
||||||
|
$(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_LIBC) ipkg/uclibc.control $(LIBC_VERSION)-$(PKG_RELEASE) $(ARCH)
|
||||||
|
mkdir -p $(IDIR_LIBC)/lib
|
||||||
|
cp -a $(STAGING_DIR)/lib/ld-uClibc*.so* $(IDIR_LIBC)/lib/
|
||||||
|
for file in c crypt dl m nsl resolv rt uClibc util; do \
|
||||||
|
cp -a $(STAGING_DIR)/lib/lib$$file*.so* $(IDIR_LIBC)/lib/; \
|
||||||
|
done
|
||||||
|
-$(STRIP) $(IDIR_LIBC)/lib/*
|
||||||
|
$(IPKG_BUILD) $(IDIR_LIBC) $(PACKAGE_DIR)
|
||||||
|
|
||||||
|
$(IPKG_GCC): $(PACKAGE_DIR)
|
||||||
|
$(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_GCC) ipkg/libgcc.control $(GCC_VERSION)-$(PKG_RELEASE) $(ARCH)
|
||||||
|
mkdir -p $(IDIR_GCC)/lib
|
||||||
|
cp -a $(STAGING_DIR)/lib/libgcc*.so* $(IDIR_GCC)/lib/
|
||||||
|
-$(STRIP) $(IDIR_GCC)/lib/*
|
||||||
|
$(IPKG_BUILD) $(IDIR_GCC) $(PACKAGE_DIR)
|
||||||
|
|
||||||
|
prepare:
|
||||||
|
compile: $(PACKAGES)
|
||||||
|
install: compile
|
||||||
|
mkdir -p $(TARGET_DIR)
|
||||||
|
$(IPKG) install $(PACKAGES)
|
@ -57,7 +57,7 @@ sub cleanup
|
|||||||
foreach my $mirror (@ARGV) {
|
foreach my $mirror (@ARGV) {
|
||||||
if ($mirror =~ /^\@SF\/(.+)$/) {
|
if ($mirror =~ /^\@SF\/(.+)$/) {
|
||||||
my $sfpath = $1;
|
my $sfpath = $1;
|
||||||
open SF, "wget -t1 -q -O- 'http://prdownloads.sf.net/$sfpath/$filename' |";
|
open SF, "wget -t1 -q -O- 'http://prdownloads.sourceforge.net/$sfpath/$filename' |";
|
||||||
while (<SF>) {
|
while (<SF>) {
|
||||||
/RADIO NAME=use_default VALUE=(\w+) OnClick="form\.submit\(\)">/ and do {
|
/RADIO NAME=use_default VALUE=(\w+) OnClick="form\.submit\(\)">/ and do {
|
||||||
push @mirrors, "http://$1.dl.sourceforge.net/sourceforge/$sfpath";
|
push @mirrors, "http://$1.dl.sourceforge.net/sourceforge/$sfpath";
|
||||||
|
@ -5,38 +5,13 @@ TARGET_SKEL_DIR=default/target_skeleton
|
|||||||
|
|
||||||
all: install
|
all: install
|
||||||
|
|
||||||
$(TARGET_DIR):
|
|
||||||
mkdir -p $(TARGET_DIR)
|
|
||||||
if [ -f "$(TARGET_SKELETON)" ] ; then \
|
|
||||||
zcat $(TARGET_SKELETON) | tar -C $(BUILD_DIR) -xf -; \
|
|
||||||
fi;
|
|
||||||
if [ -d "$(TARGET_SKEL_DIR)" ] ; then \
|
|
||||||
cp -a $(TARGET_SKEL_DIR)/* $(TARGET_DIR)/; \
|
|
||||||
fi;
|
|
||||||
mkdir -p $(TARGET_DIR)/jffs
|
|
||||||
mkdir -p $(TARGET_DIR)/dev
|
|
||||||
mkdir -p $(TARGET_DIR)/proc
|
|
||||||
mkdir -p $(TARGET_DIR)/tmp
|
|
||||||
mkdir -p $(TARGET_DIR)/lib
|
|
||||||
mkdir -p $(TARGET_DIR)/usr/lib
|
|
||||||
mkdir -p $(TARGET_DIR)/usr/bin
|
|
||||||
ln -sf /tmp/resolv.conf $(TARGET_DIR)/etc/resolv.conf
|
|
||||||
rm -rf $(TARGET_DIR)/var
|
|
||||||
ln -sf /tmp $(TARGET_DIR)/var
|
|
||||||
-find $(TARGET_DIR) -type d -name CVS | xargs rm -rf
|
|
||||||
-find $(TARGET_DIR) -type d -name .svn | xargs rm -rf
|
|
||||||
|
|
||||||
$(BIN_DIR):
|
$(BIN_DIR):
|
||||||
mkdir -p $(BIN_DIR)
|
mkdir -p $(BIN_DIR)
|
||||||
|
|
||||||
$(TARGET_DIR)/etc/sysconf:
|
|
||||||
mkdir -p $(TARGET_DIR)/etc
|
|
||||||
-grep \^BR2_SYSCONF $(TOPDIR)/.config > $(TARGET_DIR)/etc/sysconf
|
|
||||||
|
|
||||||
linux-compile: utils-install lzma-install
|
linux-compile: utils-install lzma-install
|
||||||
linux-install: $(TARGET_DIR)/etc/sysconf $(BIN_DIR)
|
linux-install: $(BIN_DIR)
|
||||||
|
|
||||||
prepare: $(TARGET_DIR)
|
prepare:
|
||||||
compile: linux-compile
|
compile: linux-compile
|
||||||
install: image_clean linux-install
|
install: image_clean linux-install
|
||||||
clean: linux-clean utils-clean lzma-clean image_clean
|
clean: linux-clean utils-clean lzma-clean image_clean
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
source "toolchain/uClibc/Config.in"
|
source "toolchain/uClibc/Config.in"
|
||||||
source "toolchain/binutils/Config.in"
|
source "toolchain/binutils/Config.in"
|
||||||
source "toolchain/gcc/Config.in"
|
source "toolchain/gcc/Config.in"
|
||||||
source "toolchain/ccache/Config.in"
|
|
||||||
|
|
||||||
if CONFIG_DEVEL
|
if CONFIG_DEVEL
|
||||||
comment "Common Toolchain Options"
|
comment "Common Toolchain Options"
|
||||||
|
@ -5,7 +5,6 @@ menu "Toolchain Options"
|
|||||||
source "toolchain/uClibc/Config.in"
|
source "toolchain/uClibc/Config.in"
|
||||||
source "toolchain/binutils/Config.in"
|
source "toolchain/binutils/Config.in"
|
||||||
source "toolchain/gcc/Config.in"
|
source "toolchain/gcc/Config.in"
|
||||||
source "toolchain/ccache/Config.in"
|
|
||||||
source "toolchain/gdb/Config.in"
|
source "toolchain/gdb/Config.in"
|
||||||
|
|
||||||
|
|
||||||
|
@ -15,8 +15,10 @@ gcc-prepare: binutils-install
|
|||||||
uClibc-compile: gcc-prepare
|
uClibc-compile: gcc-prepare
|
||||||
gcc-compile: uClibc-install
|
gcc-compile: uClibc-install
|
||||||
|
|
||||||
$(STAMP_DIR):
|
TOOLCHAIN_STAMP_DIR:=$(STAGING_DIR)/stampfiles
|
||||||
mkdir -p $(STAMP_DIR)
|
|
||||||
|
$(TOOLCHAIN_STAMP_DIR):
|
||||||
|
mkdir -p $(TOOLCHAIN_STAMP_DIR)
|
||||||
|
|
||||||
$(STAGING_DIR):
|
$(STAGING_DIR):
|
||||||
@mkdir -p $(STAGING_DIR)/lib
|
@mkdir -p $(STAGING_DIR)/lib
|
||||||
@ -27,19 +29,19 @@ $(STAGING_DIR):
|
|||||||
$(TOOL_BUILD_DIR):
|
$(TOOL_BUILD_DIR):
|
||||||
@mkdir -p $(TOOL_BUILD_DIR)
|
@mkdir -p $(TOOL_BUILD_DIR)
|
||||||
|
|
||||||
%-prepare: $(STAMP_DIR) $(STAGING_DIR) $(TOOL_BUILD_DIR)
|
%-prepare: $(TOOLCHAIN_STAMP_DIR) $(STAGING_DIR) $(TOOL_BUILD_DIR)
|
||||||
@[ -f $(STAMP_DIR)/.toolchain_$@ ] || $(MAKE) -C $(patsubst %-prepare,%,$@) prepare
|
@[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || $(MAKE) -C $(patsubst %-prepare,%,$@) prepare
|
||||||
@touch $(STAMP_DIR)/.toolchain_$@
|
@touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@
|
||||||
|
|
||||||
%-compile: %-prepare
|
%-compile: %-prepare
|
||||||
@[ -f $(STAMP_DIR)/.toolchain_$@ ] || $(MAKE) -C $(patsubst %-compile,%,$@) compile
|
@[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || $(MAKE) -C $(patsubst %-compile,%,$@) compile
|
||||||
@touch $(STAMP_DIR)/.toolchain_$@
|
@touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@
|
||||||
|
|
||||||
%-install: %-compile
|
%-install: %-compile
|
||||||
@[ -f $(STAMP_DIR)/.toolchain_$@ ] || $(MAKE) -C $(patsubst %-install,%,$@) install
|
@[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || $(MAKE) -C $(patsubst %-install,%,$@) install
|
||||||
@touch $(STAMP_DIR)/.toolchain_$@
|
@touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@
|
||||||
|
|
||||||
%-clean:
|
%-clean:
|
||||||
@$(MAKE) -C $(patsubst %-clean,%,$@) clean
|
@$(MAKE) -C $(patsubst %-clean,%,$@) clean
|
||||||
@rm -f $(STAMP_DIR)/.toolchain_$(patsubst %-clean,%,$@)-*
|
@rm -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$(patsubst %-clean,%,$@)-*
|
||||||
|
|
||||||
|
@ -133,24 +133,3 @@ $(BINUTILS_DIR2)/binutils/objdump: $(BINUTILS_DIR2)/.configured
|
|||||||
PATH=$(TARGET_PATH) \
|
PATH=$(TARGET_PATH) \
|
||||||
$(MAKE) -C $(BINUTILS_DIR2) all
|
$(MAKE) -C $(BINUTILS_DIR2) all
|
||||||
|
|
||||||
$(TARGET_DIR)/usr/bin/ld: $(BINUTILS_DIR2)/binutils/objdump
|
|
||||||
PATH=$(TARGET_PATH) \
|
|
||||||
$(MAKE) DESTDIR=$(TARGET_DIR) \
|
|
||||||
tooldir=/usr build_tooldir=/usr \
|
|
||||||
-C $(BINUTILS_DIR2) install
|
|
||||||
#rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
|
|
||||||
# $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
|
|
||||||
-$(STRIP) $(TARGET_DIR)/usr/$(REAL_GNU_TARGET_NAME)/bin/* > /dev/null 2>&1
|
|
||||||
-$(STRIP) $(TARGET_DIR)/usr/bin/* > /dev/null 2>&1
|
|
||||||
|
|
||||||
binutils_target: $(GCC_DEPENDANCY) $(TARGET_DIR)/usr/bin/ld
|
|
||||||
|
|
||||||
binutils_target-clean:
|
|
||||||
(cd $(TARGET_DIR)/usr/bin; \
|
|
||||||
rm -f addr2line ar as gprof ld nm objcopy \
|
|
||||||
objdump ranlib readelf size strings strip)
|
|
||||||
rm -f $(TARGET_DIR)/bin/$(REAL_GNU_TARGET_NAME)*
|
|
||||||
-$(MAKE) -C $(BINUTILS_DIR2) clean
|
|
||||||
|
|
||||||
binutils_target-toolclean:
|
|
||||||
rm -rf $(BINUTILS_DIR2)
|
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
#
|
|
||||||
if CONFIG_DEVEL
|
|
||||||
comment "Ccache Options"
|
|
||||||
endif
|
|
||||||
|
|
||||||
config BR2_CCACHE
|
|
||||||
bool "Enable ccache support?" if CONFIG_DEVEL
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
Enable ccache support?
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
|||||||
#
|
|
||||||
|
|
||||||
config BR2_PACKAGE_CCACHE_TARGET
|
|
||||||
bool"ccache support in the target filesystem"
|
|
||||||
default n
|
|
||||||
help
|
|
||||||
Add help text here.
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
|||||||
ifeq ($(strip $(BR2_CCACHE)),y)
|
|
||||||
TARGETS+=ccache
|
|
||||||
endif
|
|
||||||
ifeq ($(strip $(BR2_PACKAGE_CCACHE_TARGET)),y)
|
|
||||||
TARGETS+=ccache_target
|
|
||||||
endif
|
|
@ -1,151 +0,0 @@
|
|||||||
#############################################################
|
|
||||||
#
|
|
||||||
# build ccache to make recompiles faster on the build system
|
|
||||||
#
|
|
||||||
#############################################################
|
|
||||||
CCACHE_VER:=2.3
|
|
||||||
CCACHE_SITE:=http://ccache.samba.org/ftp/ccache
|
|
||||||
CCACHE_SOURCE:=ccache-$(CCACHE_VER).tar.gz
|
|
||||||
CCACHE_DIR1:=$(TOOL_BUILD_DIR)/ccache-$(CCACHE_VER)
|
|
||||||
CCACHE_DIR2:=$(BUILD_DIR)/ccache-$(CCACHE_VER)
|
|
||||||
CCACHE_CAT:=zcat
|
|
||||||
CCACHE_BINARY:=ccache
|
|
||||||
CCACHE_TARGET_BINARY:=usr/bin/ccache
|
|
||||||
|
|
||||||
$(DL_DIR)/$(CCACHE_SOURCE):
|
|
||||||
$(WGET) -P $(DL_DIR) $(CCACHE_SITE)/$(CCACHE_SOURCE)
|
|
||||||
|
|
||||||
$(CCACHE_DIR1)/.unpacked: $(DL_DIR)/$(CCACHE_SOURCE)
|
|
||||||
$(CCACHE_CAT) $(DL_DIR)/$(CCACHE_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
|
|
||||||
touch $(CCACHE_DIR1)/.unpacked
|
|
||||||
|
|
||||||
$(CCACHE_DIR1)/.patched: $(CCACHE_DIR1)/.unpacked
|
|
||||||
# WARNING - this will break if the toolchain is moved.
|
|
||||||
# Should probably patch things to use a relative path.
|
|
||||||
$(SED) "s,getenv(\"CCACHE_PATH\"),\"$(STAGING_DIR)/bin-ccache\",g" \
|
|
||||||
$(CCACHE_DIR1)/execute.c
|
|
||||||
# WARNING - this will break if the toolchain build dir is deleted.
|
|
||||||
$(SED) "s,getenv(\"CCACHE_DIR\"),\"$(CCACHE_DIR1)/cache\",g" \
|
|
||||||
$(CCACHE_DIR1)/ccache.c
|
|
||||||
mkdir -p $(CCACHE_DIR1)/cache
|
|
||||||
touch $(CCACHE_DIR1)/.patched
|
|
||||||
|
|
||||||
$(CCACHE_DIR1)/.configured: $(CCACHE_DIR1)/.patched
|
|
||||||
mkdir -p $(CCACHE_DIR1)
|
|
||||||
(cd $(CCACHE_DIR1); rm -rf config.cache; \
|
|
||||||
CC=$(HOSTCC) \
|
|
||||||
$(CCACHE_DIR1)/configure \
|
|
||||||
--target=$(GNU_HOST_NAME) \
|
|
||||||
--host=$(GNU_HOST_NAME) \
|
|
||||||
--build=$(GNU_HOST_NAME) \
|
|
||||||
--prefix=/usr \
|
|
||||||
);
|
|
||||||
touch $(CCACHE_DIR1)/.configured
|
|
||||||
|
|
||||||
$(CCACHE_DIR1)/$(CCACHE_BINARY): $(CCACHE_DIR1)/.configured
|
|
||||||
$(MAKE) CC=$(HOSTCC) -C $(CCACHE_DIR1)
|
|
||||||
|
|
||||||
$(STAGING_DIR)/$(CCACHE_TARGET_BINARY): $(CCACHE_DIR1)/$(CCACHE_BINARY)
|
|
||||||
mkdir -p $(STAGING_DIR)/usr/bin;
|
|
||||||
cp $(CCACHE_DIR1)/ccache $(STAGING_DIR)/usr/bin
|
|
||||||
# Keep the actual toolchain binaries in a directory at the same level.
|
|
||||||
# Otherwise, relative paths for include dirs break.
|
|
||||||
mkdir -p $(STAGING_DIR)/bin-ccache;
|
|
||||||
(cd $(STAGING_DIR)/bin-ccache; \
|
|
||||||
ln -fs $(REAL_GNU_TARGET_NAME)-gcc $(GNU_TARGET_NAME)-gcc; \
|
|
||||||
ln -fs $(REAL_GNU_TARGET_NAME)-gcc $(GNU_TARGET_NAME)-cc; \
|
|
||||||
ln -fs $(REAL_GNU_TARGET_NAME)-gcc $(REAL_GNU_TARGET_NAME)-cc);
|
|
||||||
[ -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-gcc ] && \
|
|
||||||
mv $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-gcc $(STAGING_DIR)/bin-ccache/
|
|
||||||
(cd $(STAGING_DIR)/bin; \
|
|
||||||
ln -fs ../usr/bin/ccache $(GNU_TARGET_NAME)-cc; \
|
|
||||||
ln -fs ../usr/bin/ccache $(GNU_TARGET_NAME)-gcc; \
|
|
||||||
ln -fs ../usr/bin/ccache $(REAL_GNU_TARGET_NAME)-cc; \
|
|
||||||
ln -fs ../usr/bin/ccache $(REAL_GNU_TARGET_NAME)-gcc);
|
|
||||||
ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
|
|
||||||
[ -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-c++ ] && \
|
|
||||||
mv $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-c++ $(STAGING_DIR)/bin-ccache/
|
|
||||||
[ -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-g++ ] && \
|
|
||||||
mv $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-g++ $(STAGING_DIR)/bin-ccache/
|
|
||||||
(cd $(STAGING_DIR)/bin; \
|
|
||||||
ln -fs ../usr/bin/ccache $(GNU_TARGET_NAME)-c++; \
|
|
||||||
ln -fs ../usr/bin/ccache $(GNU_TARGET_NAME)-g++;\
|
|
||||||
ln -fs ../usr/bin/ccache $(REAL_GNU_TARGET_NAME)-c++; \
|
|
||||||
ln -fs ../usr/bin/ccache $(REAL_GNU_TARGET_NAME)-g++);
|
|
||||||
(cd $(STAGING_DIR)/bin-ccache; \
|
|
||||||
ln -fs $(REAL_GNU_TARGET_NAME)-c++ $(GNU_TARGET_NAME)-c++; \
|
|
||||||
ln -fs $(REAL_GNU_TARGET_NAME)-g++ $(GNU_TARGET_NAME)-g++);
|
|
||||||
endif
|
|
||||||
|
|
||||||
ccache: gcc $(STAGING_DIR)/$(CCACHE_TARGET_BINARY)
|
|
||||||
|
|
||||||
ccache-clean:
|
|
||||||
$(MAKE) -C $(CCACHE_DIR1) uninstall
|
|
||||||
-$(MAKE) -C $(CCACHE_DIR1) clean
|
|
||||||
|
|
||||||
ccache-toolclean:
|
|
||||||
rm -rf $(CCACHE_DIR1)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#############################################################
|
|
||||||
#
|
|
||||||
# build ccache for use on the target system
|
|
||||||
#
|
|
||||||
#############################################################
|
|
||||||
|
|
||||||
$(CCACHE_DIR2)/.unpacked: $(DL_DIR)/$(CCACHE_SOURCE)
|
|
||||||
$(CCACHE_CAT) $(DL_DIR)/$(CCACHE_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
|
|
||||||
touch $(CCACHE_DIR2)/.unpacked
|
|
||||||
|
|
||||||
$(CCACHE_DIR2)/.patched: $(CCACHE_DIR2)/.unpacked
|
|
||||||
touch $(CCACHE_DIR2)/.patched
|
|
||||||
|
|
||||||
$(CCACHE_DIR2)/.configured: $(CCACHE_DIR2)/.patched
|
|
||||||
mkdir -p $(CCACHE_DIR2)
|
|
||||||
(cd $(CCACHE_DIR2); rm -rf config.cache; \
|
|
||||||
$(TARGET_CONFIGURE_OPTS) \
|
|
||||||
$(CCACHE_DIR2)/configure \
|
|
||||||
--target=$(GNU_TARGET_NAME) \
|
|
||||||
--host=$(GNU_TARGET_NAME) \
|
|
||||||
--build=$(GNU_HOST_NAME) \
|
|
||||||
--prefix=/usr \
|
|
||||||
--exec-prefix=/usr \
|
|
||||||
--bindir=/usr/bin \
|
|
||||||
--sbindir=/usr/sbin \
|
|
||||||
--libexecdir=/usr/lib \
|
|
||||||
--sysconfdir=/etc \
|
|
||||||
--datadir=/usr/share \
|
|
||||||
--localstatedir=/var \
|
|
||||||
--mandir=/usr/man \
|
|
||||||
--infodir=/usr/info \
|
|
||||||
$(DISABLE_NLS) \
|
|
||||||
);
|
|
||||||
touch $(CCACHE_DIR2)/.configured
|
|
||||||
|
|
||||||
$(CCACHE_DIR2)/$(CCACHE_BINARY): $(CCACHE_DIR2)/.configured
|
|
||||||
$(MAKE) -C $(CCACHE_DIR2) CFLAGS="$(TARGET_CFLAGS)"
|
|
||||||
|
|
||||||
$(TARGET_DIR)/$(CCACHE_TARGET_BINARY): $(CCACHE_DIR2)/$(CCACHE_BINARY)
|
|
||||||
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(CCACHE_DIR2) install
|
|
||||||
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
|
|
||||||
$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
|
|
||||||
# put a bunch of symlinks into /bin, since that is earlier
|
|
||||||
# in the default PATH than /usr/bin where gcc lives
|
|
||||||
(cd $(TARGET_DIR)/bin; \
|
|
||||||
ln -fs /usr/bin/ccache cc; \
|
|
||||||
ln -fs /usr/bin/ccache gcc; \
|
|
||||||
ln -fs /usr/bin/ccache c++; \
|
|
||||||
ln -fs /usr/bin/ccache g++;)
|
|
||||||
|
|
||||||
ccache_target: uclibc $(TARGET_DIR)/$(CCACHE_TARGET_BINARY)
|
|
||||||
|
|
||||||
ccache_target-sources: $(DL_DIR)/$(CCACHE_SOURCE)
|
|
||||||
|
|
||||||
ccache_target-clean:
|
|
||||||
rm -f $(TARGET_DIR)/$(CCACHE_TARGET_BINARY)
|
|
||||||
-$(MAKE) -C $(CCACHE_DIR2) clean
|
|
||||||
|
|
||||||
ccache_target-toolclean:
|
|
||||||
rm -rf $(CCACHE_DIR2)
|
|
@ -171,6 +171,7 @@ $(GCC_BUILD_DIR2)/.compiled: $(GCC_BUILD_DIR2)/.configured
|
|||||||
|
|
||||||
gcc-install: $(GCC_BUILD_DIR2)/.compiled
|
gcc-install: $(GCC_BUILD_DIR2)/.compiled
|
||||||
PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR2) install
|
PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR2) install
|
||||||
|
echo $(GCC_VERSION) > $(STAGING_DIR)/gcc_version
|
||||||
# Strip the host binaries
|
# Strip the host binaries
|
||||||
ifeq ($(GCC_STRIP_HOST_BINARIES),true)
|
ifeq ($(GCC_STRIP_HOST_BINARIES),true)
|
||||||
-strip --strip-all -R .note -R .comment $(STAGING_DIR)/bin/*
|
-strip --strip-all -R .note -R .comment $(STAGING_DIR)/bin/*
|
||||||
@ -203,9 +204,6 @@ ifeq ($(findstring 3.3.,$(GCC_VERSION)),3.3.)
|
|||||||
cp ./$(GCC_VERSION)/specs-$(ARCH)-soft-float $(STAGING_DIR)/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs
|
cp ./$(GCC_VERSION)/specs-$(ARCH)-soft-float $(STAGING_DIR)/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
# These are in /lib, so...
|
|
||||||
cp -a $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/lib/libgcc_s* $(TARGET_DIR)/lib/
|
|
||||||
$(STRIP) $(TARGET_DIR)/lib/libgcc_s.so.1
|
|
||||||
|
|
||||||
gcc: gcc_initial $(LIBFLOAT_TARGET) \
|
gcc: gcc_initial $(LIBFLOAT_TARGET) \
|
||||||
gcc-install $(GCC_TARGETS)
|
gcc-install $(GCC_TARGETS)
|
||||||
@ -264,50 +262,3 @@ else
|
|||||||
GCC_LIB_SUBDIR=lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)
|
GCC_LIB_SUBDIR=lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(TARGET_DIR)/usr/bin/gcc: $(GCC_BUILD_DIR3)/.compiled
|
|
||||||
PATH=$(TARGET_PATH) \
|
|
||||||
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(GCC_BUILD_DIR3) install
|
|
||||||
# Remove broken specs file (cross compile flag is set).
|
|
||||||
rm -f $(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR)/specs
|
|
||||||
#
|
|
||||||
# Now for the ugly 3.3.x soft float hack...
|
|
||||||
#
|
|
||||||
ifeq ($(BR2_SOFT_FLOAT),y)
|
|
||||||
ifeq ($(findstring 3.3.,$(GCC_VERSION)),3.3.)
|
|
||||||
# Add a specs file that defaults to soft float mode.
|
|
||||||
cp ./$(GCC_VERSION)/specs-$(ARCH)-soft-float $(TARGET_DIR)/usr/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs
|
|
||||||
# Make sure gcc does not think we are cross compiling
|
|
||||||
$(SED) "s/^1/0/;" $(TARGET_DIR)/usr/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
#
|
|
||||||
# Ok... that's enough of that.
|
|
||||||
#
|
|
||||||
-(cd $(TARGET_DIR)/bin; find -type f | xargs $(STRIP) > /dev/null 2>&1)
|
|
||||||
-(cd $(TARGET_DIR)/usr/bin; find -type f | xargs $(STRIP) > /dev/null 2>&1)
|
|
||||||
-(cd $(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR); $(STRIP) cc1 cc1plus collect2 > /dev/null 2>&1)
|
|
||||||
-(cd $(TARGET_DIR)/usr/lib; $(STRIP) libstdc++.so.*.*.* > /dev/null 2>&1)
|
|
||||||
-(cd $(TARGET_DIR)/lib; $(STRIP) libgcc_s.so.*.*.* > /dev/null 2>&1)
|
|
||||||
#
|
|
||||||
rm -f $(TARGET_DIR)/usr/lib/*.la*
|
|
||||||
#rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
|
|
||||||
# $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
|
|
||||||
# Work around problem of missing syslimits.h
|
|
||||||
@if [ ! -f $(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR)/include/syslimits.h ] ; then \
|
|
||||||
echo "warning: working around missing syslimits.h" ; \
|
|
||||||
cp -f $(STAGING_DIR)/$(GCC_LIB_SUBDIR)/include/syslimits.h \
|
|
||||||
$(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR)/include/ ; \
|
|
||||||
fi
|
|
||||||
# These are in /lib, so...
|
|
||||||
#rm -rf $(TARGET_DIR)/usr/lib/libgcc_s.so*
|
|
||||||
#touch -c $(TARGET_DIR)/usr/bin/gcc
|
|
||||||
|
|
||||||
gcc_target: uclibc_target binutils_target $(TARGET_DIR)/usr/bin/gcc
|
|
||||||
|
|
||||||
gcc_target-clean:
|
|
||||||
rm -rf $(GCC_BUILD_DIR3)
|
|
||||||
rm -f $(TARGET_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)*
|
|
||||||
|
|
||||||
gcc_target-toolclean:
|
|
||||||
rm -rf $(GCC_BUILD_DIR3)
|
|
||||||
|
|
||||||
|
@ -6,6 +6,4 @@ source: uclibc-source
|
|||||||
prepare: uclibc-configured
|
prepare: uclibc-configured
|
||||||
compile: $(UCLIBC_DIR)/lib/libc.a
|
compile: $(UCLIBC_DIR)/lib/libc.a
|
||||||
install: uclibc
|
install: uclibc
|
||||||
rm -rf $(TARGET_DIR)/lib/libpthread*.so*
|
|
||||||
$(STRIP) $(TARGET_DIR)/lib/*.so
|
|
||||||
clean: uclibc-toolclean
|
clean: uclibc-toolclean
|
||||||
|
@ -10,9 +10,11 @@ UCLIBC_DIR:=$(TOOL_BUILD_DIR)/uClibc
|
|||||||
UCLIBC_SOURCE:=uClibc-$(strip $(subst ",, $(BR2_USE_UCLIBC_SNAPSHOT))).tar.bz2
|
UCLIBC_SOURCE:=uClibc-$(strip $(subst ",, $(BR2_USE_UCLIBC_SNAPSHOT))).tar.bz2
|
||||||
#"
|
#"
|
||||||
UCLIBC_SITE:=http://www.uclibc.org/downloads/snapshots
|
UCLIBC_SITE:=http://www.uclibc.org/downloads/snapshots
|
||||||
|
UCLIBC_VER:=PKG_VERSION:=0.${shell date +"%G%m%d"}
|
||||||
else
|
else
|
||||||
UCLIBC_DIR:=$(TOOL_BUILD_DIR)/uClibc-0.9.27
|
UCLIBC_VER:=0.9.27
|
||||||
UCLIBC_SOURCE:=uClibc-0.9.27.tar.bz2
|
UCLIBC_DIR:=$(TOOL_BUILD_DIR)/uClibc-$(UCLIBC_VER)
|
||||||
|
UCLIBC_SOURCE:=uClibc-$(UCLIBC_VER).tar.bz2
|
||||||
UCLIBC_SITE:=http://www.uclibc.org/downloads
|
UCLIBC_SITE:=http://www.uclibc.org/downloads
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -99,6 +101,7 @@ $(STAGING_DIR)/lib/libc.a: $(UCLIBC_DIR)/lib/libc.a
|
|||||||
DEVEL_PREFIX=/ \
|
DEVEL_PREFIX=/ \
|
||||||
RUNTIME_PREFIX=/ \
|
RUNTIME_PREFIX=/ \
|
||||||
install_dev
|
install_dev
|
||||||
|
echo $(UCLIBC_VER) > $(STAGING_DIR)/uclibc_version
|
||||||
# Build the host utils. Need to add an install target... - disabled
|
# Build the host utils. Need to add an install target... - disabled
|
||||||
# $(MAKE1) -C $(UCLIBC_DIR)/utils \
|
# $(MAKE1) -C $(UCLIBC_DIR)/utils \
|
||||||
# PREFIX=$(STAGING_DIR) \
|
# PREFIX=$(STAGING_DIR) \
|
||||||
@ -106,23 +109,6 @@ $(STAGING_DIR)/lib/libc.a: $(UCLIBC_DIR)/lib/libc.a
|
|||||||
# hostutils
|
# hostutils
|
||||||
touch -c $(STAGING_DIR)/lib/libc.a
|
touch -c $(STAGING_DIR)/lib/libc.a
|
||||||
|
|
||||||
ifneq ($(TARGET_DIR),)
|
|
||||||
$(TARGET_DIR)/lib/libc.so.0: $(STAGING_DIR)/lib/libc.a
|
|
||||||
$(MAKE1) -C $(UCLIBC_DIR) \
|
|
||||||
PREFIX=$(TARGET_DIR) \
|
|
||||||
DEVEL_PREFIX=/usr/ \
|
|
||||||
RUNTIME_PREFIX=/ \
|
|
||||||
install_runtime
|
|
||||||
touch -c $(TARGET_DIR)/lib/libc.so.0
|
|
||||||
|
|
||||||
$(TARGET_DIR)/usr/bin/ldd:
|
|
||||||
$(MAKE1) -C $(UCLIBC_DIR) $(TARGET_CONFIGURE_OPTS) \
|
|
||||||
PREFIX=$(TARGET_DIR) utils install_utils
|
|
||||||
touch -c $(TARGET_DIR)/usr/bin/ldd
|
|
||||||
|
|
||||||
UCLIBC_TARGETS=$(TARGET_DIR)/lib/libc.so.0
|
|
||||||
endif
|
|
||||||
|
|
||||||
uclibc-configured: $(UCLIBC_DIR)/.configured
|
uclibc-configured: $(UCLIBC_DIR)/.configured
|
||||||
|
|
||||||
uclibc: $(STAGING_DIR)/lib/libc.a \
|
uclibc: $(STAGING_DIR)/lib/libc.a \
|
||||||
@ -139,28 +125,3 @@ uclibc-clean:
|
|||||||
uclibc-toolclean:
|
uclibc-toolclean:
|
||||||
rm -rf $(UCLIBC_DIR)
|
rm -rf $(UCLIBC_DIR)
|
||||||
|
|
||||||
uclibc-target-utils: $(TARGET_DIR)/usr/bin/ldd
|
|
||||||
|
|
||||||
#############################################################
|
|
||||||
#
|
|
||||||
# uClibc for the target just needs its header files
|
|
||||||
# and whatnot installed.
|
|
||||||
#
|
|
||||||
#############################################################
|
|
||||||
|
|
||||||
$(TARGET_DIR)/usr/lib/libc.a: $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/lib/libc.a
|
|
||||||
$(MAKE1) -C $(UCLIBC_DIR) \
|
|
||||||
PREFIX=$(TARGET_DIR) \
|
|
||||||
DEVEL_PREFIX=/usr/ \
|
|
||||||
RUNTIME_PREFIX=/ \
|
|
||||||
install_dev
|
|
||||||
touch -c $(TARGET_DIR)/usr/lib/libc.a
|
|
||||||
|
|
||||||
uclibc_target: gcc uclibc $(TARGET_DIR)/usr/lib/libc.a $(TARGET_DIR)/usr/bin/ldd
|
|
||||||
|
|
||||||
uclibc_target-clean:
|
|
||||||
rm -f $(TARGET_DIR)/include
|
|
||||||
|
|
||||||
uclibc_target-dirclean:
|
|
||||||
rm -f $(TARGET_DIR)/include
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user