mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-10 15:26:14 +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@1494 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
8d16fb08b8
commit
3d00739480
@ -77,9 +77,9 @@ package_install: package_compile toolchain
|
||||
# In this section, we need .config
|
||||
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:
|
||||
-cp .config .config.test
|
||||
@ -90,9 +90,6 @@ package_index:
|
||||
$(STAGING_DIR)/usr/bin/ipkg-make-index . > Packages \
|
||||
)
|
||||
|
||||
target_prepare:
|
||||
$(MAKE) -C target prepare
|
||||
|
||||
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))
|
||||
SDK_DEFAULT_PACKAGES:=busybox dnsmasq iptables wireless-tools dropbear bridge ipkg ppp
|
||||
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
|
||||
clean: $(patsubst %,%-clean,$(package-) $(package-y) $(package-m))
|
||||
compile: $(patsubst %,%-compile,$(package-y) $(package-m))
|
||||
install: $(patsubst %,%-install,$(package-y))
|
||||
compile: $(COMPILE_PACKAGES)
|
||||
install: base-files-install $(INSTALL_PACKAGES)
|
||||
|
||||
$(COMPILE_PACKAGES): base-files-install
|
||||
$(INSTALL_PACKAGES): base-files-install
|
||||
|
||||
amwall-compile: libamsel-compile
|
||||
arpwatch-compile: libpcap-compile
|
||||
|
64
openwrt/package/base-files/Makefile
Normal file
64
openwrt/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) {
|
||||
if ($mirror =~ /^\@SF\/(.+)$/) {
|
||||
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>) {
|
||||
/RADIO NAME=use_default VALUE=(\w+) OnClick="form\.submit\(\)">/ and do {
|
||||
push @mirrors, "http://$1.dl.sourceforge.net/sourceforge/$sfpath";
|
||||
|
@ -5,38 +5,13 @@ TARGET_SKEL_DIR=default/target_skeleton
|
||||
|
||||
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):
|
||||
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-install: $(TARGET_DIR)/etc/sysconf $(BIN_DIR)
|
||||
linux-install: $(BIN_DIR)
|
||||
|
||||
prepare: $(TARGET_DIR)
|
||||
prepare:
|
||||
compile: linux-compile
|
||||
install: image_clean linux-install
|
||||
clean: linux-clean utils-clean lzma-clean image_clean
|
||||
|
@ -3,7 +3,6 @@
|
||||
source "toolchain/uClibc/Config.in"
|
||||
source "toolchain/binutils/Config.in"
|
||||
source "toolchain/gcc/Config.in"
|
||||
source "toolchain/ccache/Config.in"
|
||||
|
||||
if CONFIG_DEVEL
|
||||
comment "Common Toolchain Options"
|
||||
|
@ -5,7 +5,6 @@ menu "Toolchain Options"
|
||||
source "toolchain/uClibc/Config.in"
|
||||
source "toolchain/binutils/Config.in"
|
||||
source "toolchain/gcc/Config.in"
|
||||
source "toolchain/ccache/Config.in"
|
||||
source "toolchain/gdb/Config.in"
|
||||
|
||||
|
||||
|
@ -15,8 +15,10 @@ gcc-prepare: binutils-install
|
||||
uClibc-compile: gcc-prepare
|
||||
gcc-compile: uClibc-install
|
||||
|
||||
$(STAMP_DIR):
|
||||
mkdir -p $(STAMP_DIR)
|
||||
TOOLCHAIN_STAMP_DIR:=$(STAGING_DIR)/stampfiles
|
||||
|
||||
$(TOOLCHAIN_STAMP_DIR):
|
||||
mkdir -p $(TOOLCHAIN_STAMP_DIR)
|
||||
|
||||
$(STAGING_DIR):
|
||||
@mkdir -p $(STAGING_DIR)/lib
|
||||
@ -27,19 +29,19 @@ $(STAGING_DIR):
|
||||
$(TOOL_BUILD_DIR):
|
||||
@mkdir -p $(TOOL_BUILD_DIR)
|
||||
|
||||
%-prepare: $(STAMP_DIR) $(STAGING_DIR) $(TOOL_BUILD_DIR)
|
||||
@[ -f $(STAMP_DIR)/.toolchain_$@ ] || $(MAKE) -C $(patsubst %-prepare,%,$@) prepare
|
||||
@touch $(STAMP_DIR)/.toolchain_$@
|
||||
%-prepare: $(TOOLCHAIN_STAMP_DIR) $(STAGING_DIR) $(TOOL_BUILD_DIR)
|
||||
@[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || $(MAKE) -C $(patsubst %-prepare,%,$@) prepare
|
||||
@touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@
|
||||
|
||||
%-compile: %-prepare
|
||||
@[ -f $(STAMP_DIR)/.toolchain_$@ ] || $(MAKE) -C $(patsubst %-compile,%,$@) compile
|
||||
@touch $(STAMP_DIR)/.toolchain_$@
|
||||
@[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || $(MAKE) -C $(patsubst %-compile,%,$@) compile
|
||||
@touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@
|
||||
|
||||
%-install: %-compile
|
||||
@[ -f $(STAMP_DIR)/.toolchain_$@ ] || $(MAKE) -C $(patsubst %-install,%,$@) install
|
||||
@touch $(STAMP_DIR)/.toolchain_$@
|
||||
@[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || $(MAKE) -C $(patsubst %-install,%,$@) install
|
||||
@touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@
|
||||
|
||||
%-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) \
|
||||
$(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
|
||||
PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR2) install
|
||||
echo $(GCC_VERSION) > $(STAGING_DIR)/gcc_version
|
||||
# Strip the host binaries
|
||||
ifeq ($(GCC_STRIP_HOST_BINARIES),true)
|
||||
-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
|
||||
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-install $(GCC_TARGETS)
|
||||
@ -264,50 +262,3 @@ else
|
||||
GCC_LIB_SUBDIR=lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)
|
||||
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
|
||||
compile: $(UCLIBC_DIR)/lib/libc.a
|
||||
install: uclibc
|
||||
rm -rf $(TARGET_DIR)/lib/libpthread*.so*
|
||||
$(STRIP) $(TARGET_DIR)/lib/*.so
|
||||
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_SITE:=http://www.uclibc.org/downloads/snapshots
|
||||
UCLIBC_VER:=PKG_VERSION:=0.${shell date +"%G%m%d"}
|
||||
else
|
||||
UCLIBC_DIR:=$(TOOL_BUILD_DIR)/uClibc-0.9.27
|
||||
UCLIBC_SOURCE:=uClibc-0.9.27.tar.bz2
|
||||
UCLIBC_VER:=0.9.27
|
||||
UCLIBC_DIR:=$(TOOL_BUILD_DIR)/uClibc-$(UCLIBC_VER)
|
||||
UCLIBC_SOURCE:=uClibc-$(UCLIBC_VER).tar.bz2
|
||||
UCLIBC_SITE:=http://www.uclibc.org/downloads
|
||||
endif
|
||||
|
||||
@ -99,6 +101,7 @@ $(STAGING_DIR)/lib/libc.a: $(UCLIBC_DIR)/lib/libc.a
|
||||
DEVEL_PREFIX=/ \
|
||||
RUNTIME_PREFIX=/ \
|
||||
install_dev
|
||||
echo $(UCLIBC_VER) > $(STAGING_DIR)/uclibc_version
|
||||
# Build the host utils. Need to add an install target... - disabled
|
||||
# $(MAKE1) -C $(UCLIBC_DIR)/utils \
|
||||
# PREFIX=$(STAGING_DIR) \
|
||||
@ -106,23 +109,6 @@ $(STAGING_DIR)/lib/libc.a: $(UCLIBC_DIR)/lib/libc.a
|
||||
# hostutils
|
||||
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: $(STAGING_DIR)/lib/libc.a \
|
||||
@ -139,28 +125,3 @@ uclibc-clean:
|
||||
uclibc-toolclean:
|
||||
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