diff --git a/openwrt/Makefile b/openwrt/Makefile index 1b8d968a09..45a9ba7ffb 100644 --- a/openwrt/Makefile +++ b/openwrt/Makefile @@ -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 diff --git a/openwrt/package/Makefile b/openwrt/package/Makefile index 1128f9c8c1..7df1c594d4 100644 --- a/openwrt/package/Makefile +++ b/openwrt/package/Makefile @@ -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 diff --git a/openwrt/package/base-files/Makefile b/openwrt/package/base-files/Makefile new file mode 100644 index 0000000000..fbd7b9e44c --- /dev/null +++ b/openwrt/package/base-files/Makefile @@ -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) diff --git a/openwrt/target/default/target_skeleton/bin/firstboot b/openwrt/package/base-files/default/bin/firstboot similarity index 100% rename from openwrt/target/default/target_skeleton/bin/firstboot rename to openwrt/package/base-files/default/bin/firstboot diff --git a/openwrt/target/default/target_skeleton/bin/ipkg b/openwrt/package/base-files/default/bin/ipkg similarity index 100% rename from openwrt/target/default/target_skeleton/bin/ipkg rename to openwrt/package/base-files/default/bin/ipkg diff --git a/openwrt/target/default/target_skeleton/bin/login b/openwrt/package/base-files/default/bin/login similarity index 100% rename from openwrt/target/default/target_skeleton/bin/login rename to openwrt/package/base-files/default/bin/login diff --git a/openwrt/target/default/target_skeleton/etc/banner b/openwrt/package/base-files/default/etc/banner similarity index 100% rename from openwrt/target/default/target_skeleton/etc/banner rename to openwrt/package/base-files/default/etc/banner diff --git a/openwrt/target/default/target_skeleton/etc/dnsmasq.conf b/openwrt/package/base-files/default/etc/dnsmasq.conf similarity index 100% rename from openwrt/target/default/target_skeleton/etc/dnsmasq.conf rename to openwrt/package/base-files/default/etc/dnsmasq.conf diff --git a/openwrt/target/default/target_skeleton/etc/firewall.user b/openwrt/package/base-files/default/etc/firewall.user similarity index 100% rename from openwrt/target/default/target_skeleton/etc/firewall.user rename to openwrt/package/base-files/default/etc/firewall.user diff --git a/openwrt/target/default/target_skeleton/etc/functions.sh b/openwrt/package/base-files/default/etc/functions.sh similarity index 100% rename from openwrt/target/default/target_skeleton/etc/functions.sh rename to openwrt/package/base-files/default/etc/functions.sh diff --git a/openwrt/target/default/target_skeleton/etc/group b/openwrt/package/base-files/default/etc/group similarity index 100% rename from openwrt/target/default/target_skeleton/etc/group rename to openwrt/package/base-files/default/etc/group diff --git a/openwrt/target/default/target_skeleton/etc/hosts b/openwrt/package/base-files/default/etc/hosts similarity index 100% rename from openwrt/target/default/target_skeleton/etc/hosts rename to openwrt/package/base-files/default/etc/hosts diff --git a/openwrt/target/default/target_skeleton/etc/init.d/S10boot b/openwrt/package/base-files/default/etc/init.d/S10boot similarity index 100% rename from openwrt/target/default/target_skeleton/etc/init.d/S10boot rename to openwrt/package/base-files/default/etc/init.d/S10boot diff --git a/openwrt/target/default/target_skeleton/etc/init.d/S40network b/openwrt/package/base-files/default/etc/init.d/S40network similarity index 100% rename from openwrt/target/default/target_skeleton/etc/init.d/S40network rename to openwrt/package/base-files/default/etc/init.d/S40network diff --git a/openwrt/target/default/target_skeleton/etc/init.d/S45firewall b/openwrt/package/base-files/default/etc/init.d/S45firewall similarity index 100% rename from openwrt/target/default/target_skeleton/etc/init.d/S45firewall rename to openwrt/package/base-files/default/etc/init.d/S45firewall diff --git a/openwrt/target/default/target_skeleton/etc/init.d/S50dnsmasq b/openwrt/package/base-files/default/etc/init.d/S50dnsmasq similarity index 100% rename from openwrt/target/default/target_skeleton/etc/init.d/S50dnsmasq rename to openwrt/package/base-files/default/etc/init.d/S50dnsmasq diff --git a/openwrt/target/default/target_skeleton/etc/init.d/S50httpd b/openwrt/package/base-files/default/etc/init.d/S50httpd similarity index 100% rename from openwrt/target/default/target_skeleton/etc/init.d/S50httpd rename to openwrt/package/base-files/default/etc/init.d/S50httpd diff --git a/openwrt/target/default/target_skeleton/etc/init.d/S50telnet b/openwrt/package/base-files/default/etc/init.d/S50telnet similarity index 100% rename from openwrt/target/default/target_skeleton/etc/init.d/S50telnet rename to openwrt/package/base-files/default/etc/init.d/S50telnet diff --git a/openwrt/target/default/target_skeleton/etc/init.d/S99done b/openwrt/package/base-files/default/etc/init.d/S99done similarity index 100% rename from openwrt/target/default/target_skeleton/etc/init.d/S99done rename to openwrt/package/base-files/default/etc/init.d/S99done diff --git a/openwrt/target/default/target_skeleton/etc/init.d/rcS b/openwrt/package/base-files/default/etc/init.d/rcS similarity index 100% rename from openwrt/target/default/target_skeleton/etc/init.d/rcS rename to openwrt/package/base-files/default/etc/init.d/rcS diff --git a/openwrt/target/default/target_skeleton/etc/inittab b/openwrt/package/base-files/default/etc/inittab similarity index 100% rename from openwrt/target/default/target_skeleton/etc/inittab rename to openwrt/package/base-files/default/etc/inittab diff --git a/openwrt/target/default/target_skeleton/etc/ipkg.conf b/openwrt/package/base-files/default/etc/ipkg.conf similarity index 100% rename from openwrt/target/default/target_skeleton/etc/ipkg.conf rename to openwrt/package/base-files/default/etc/ipkg.conf diff --git a/openwrt/target/default/target_skeleton/etc/modules b/openwrt/package/base-files/default/etc/modules similarity index 100% rename from openwrt/target/default/target_skeleton/etc/modules rename to openwrt/package/base-files/default/etc/modules diff --git a/openwrt/target/default/target_skeleton/etc/nvram.overrides b/openwrt/package/base-files/default/etc/nvram.overrides similarity index 100% rename from openwrt/target/default/target_skeleton/etc/nvram.overrides rename to openwrt/package/base-files/default/etc/nvram.overrides diff --git a/openwrt/target/default/target_skeleton/etc/passwd b/openwrt/package/base-files/default/etc/passwd similarity index 100% rename from openwrt/target/default/target_skeleton/etc/passwd rename to openwrt/package/base-files/default/etc/passwd diff --git a/openwrt/target/default/target_skeleton/etc/preinit b/openwrt/package/base-files/default/etc/preinit similarity index 100% rename from openwrt/target/default/target_skeleton/etc/preinit rename to openwrt/package/base-files/default/etc/preinit diff --git a/openwrt/target/default/target_skeleton/etc/profile b/openwrt/package/base-files/default/etc/profile similarity index 100% rename from openwrt/target/default/target_skeleton/etc/profile rename to openwrt/package/base-files/default/etc/profile diff --git a/openwrt/target/default/target_skeleton/etc/protocols b/openwrt/package/base-files/default/etc/protocols similarity index 100% rename from openwrt/target/default/target_skeleton/etc/protocols rename to openwrt/package/base-files/default/etc/protocols diff --git a/openwrt/target/default/target_skeleton/etc/shells b/openwrt/package/base-files/default/etc/shells similarity index 100% rename from openwrt/target/default/target_skeleton/etc/shells rename to openwrt/package/base-files/default/etc/shells diff --git a/openwrt/target/default/target_skeleton/etc/sysctl.conf b/openwrt/package/base-files/default/etc/sysctl.conf similarity index 100% rename from openwrt/target/default/target_skeleton/etc/sysctl.conf rename to openwrt/package/base-files/default/etc/sysctl.conf diff --git a/openwrt/target/default/target_skeleton/rom/note b/openwrt/package/base-files/default/rom/note similarity index 100% rename from openwrt/target/default/target_skeleton/rom/note rename to openwrt/package/base-files/default/rom/note diff --git a/openwrt/target/default/target_skeleton/sbin/backup b/openwrt/package/base-files/default/sbin/backup similarity index 100% rename from openwrt/target/default/target_skeleton/sbin/backup rename to openwrt/package/base-files/default/sbin/backup diff --git a/openwrt/target/default/target_skeleton/sbin/halt b/openwrt/package/base-files/default/sbin/halt similarity index 100% rename from openwrt/target/default/target_skeleton/sbin/halt rename to openwrt/package/base-files/default/sbin/halt diff --git a/openwrt/target/default/target_skeleton/sbin/hotplug b/openwrt/package/base-files/default/sbin/hotplug similarity index 100% rename from openwrt/target/default/target_skeleton/sbin/hotplug rename to openwrt/package/base-files/default/sbin/hotplug diff --git a/openwrt/target/default/target_skeleton/sbin/ifdown b/openwrt/package/base-files/default/sbin/ifdown similarity index 100% rename from openwrt/target/default/target_skeleton/sbin/ifdown rename to openwrt/package/base-files/default/sbin/ifdown diff --git a/openwrt/target/default/target_skeleton/sbin/ifup b/openwrt/package/base-files/default/sbin/ifup similarity index 100% rename from openwrt/target/default/target_skeleton/sbin/ifup rename to openwrt/package/base-files/default/sbin/ifup diff --git a/openwrt/target/default/target_skeleton/sbin/mount_root b/openwrt/package/base-files/default/sbin/mount_root similarity index 100% rename from openwrt/target/default/target_skeleton/sbin/mount_root rename to openwrt/package/base-files/default/sbin/mount_root diff --git a/openwrt/target/default/target_skeleton/sbin/restore b/openwrt/package/base-files/default/sbin/restore similarity index 100% rename from openwrt/target/default/target_skeleton/sbin/restore rename to openwrt/package/base-files/default/sbin/restore diff --git a/openwrt/target/default/target_skeleton/usr/share/udhcpc/default.script b/openwrt/package/base-files/default/usr/share/udhcpc/default.script similarity index 100% rename from openwrt/target/default/target_skeleton/usr/share/udhcpc/default.script rename to openwrt/package/base-files/default/usr/share/udhcpc/default.script diff --git a/openwrt/target/default/target_skeleton/www/index.html b/openwrt/package/base-files/default/www/index.html similarity index 100% rename from openwrt/target/default/target_skeleton/www/index.html rename to openwrt/package/base-files/default/www/index.html diff --git a/openwrt/scripts/download.pl b/openwrt/scripts/download.pl index 08caa03e78..a59ffe6ba6 100755 --- a/openwrt/scripts/download.pl +++ b/openwrt/scripts/download.pl @@ -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 () { /RADIO NAME=use_default VALUE=(\w+) OnClick="form\.submit\(\)">/ and do { push @mirrors, "http://$1.dl.sourceforge.net/sourceforge/$sfpath"; diff --git a/openwrt/target/Makefile b/openwrt/target/Makefile index 4f9c54144a..52b2e60cff 100644 --- a/openwrt/target/Makefile +++ b/openwrt/target/Makefile @@ -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 diff --git a/openwrt/toolchain/Config.in b/openwrt/toolchain/Config.in index 756deddd24..fd906f05f6 100644 --- a/openwrt/toolchain/Config.in +++ b/openwrt/toolchain/Config.in @@ -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" diff --git a/openwrt/toolchain/Config.in.devel b/openwrt/toolchain/Config.in.devel index 0baf9b20c5..48fe1465df 100644 --- a/openwrt/toolchain/Config.in.devel +++ b/openwrt/toolchain/Config.in.devel @@ -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" diff --git a/openwrt/toolchain/Makefile b/openwrt/toolchain/Makefile index c573debe49..2b1358b123 100644 --- a/openwrt/toolchain/Makefile +++ b/openwrt/toolchain/Makefile @@ -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,%,$@)-* diff --git a/openwrt/toolchain/binutils/binutils.mk b/openwrt/toolchain/binutils/binutils.mk index a3a623e615..e0f100059f 100644 --- a/openwrt/toolchain/binutils/binutils.mk +++ b/openwrt/toolchain/binutils/binutils.mk @@ -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) diff --git a/openwrt/toolchain/ccache/Config.in b/openwrt/toolchain/ccache/Config.in deleted file mode 100644 index 9cd6f0b11d..0000000000 --- a/openwrt/toolchain/ccache/Config.in +++ /dev/null @@ -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? - diff --git a/openwrt/toolchain/ccache/Config.in.2 b/openwrt/toolchain/ccache/Config.in.2 deleted file mode 100644 index 7130374610..0000000000 --- a/openwrt/toolchain/ccache/Config.in.2 +++ /dev/null @@ -1,8 +0,0 @@ -# - -config BR2_PACKAGE_CCACHE_TARGET - bool"ccache support in the target filesystem" - default n - help - Add help text here. - diff --git a/openwrt/toolchain/ccache/Makefile.in b/openwrt/toolchain/ccache/Makefile.in deleted file mode 100644 index fe859da303..0000000000 --- a/openwrt/toolchain/ccache/Makefile.in +++ /dev/null @@ -1,6 +0,0 @@ -ifeq ($(strip $(BR2_CCACHE)),y) -TARGETS+=ccache -endif -ifeq ($(strip $(BR2_PACKAGE_CCACHE_TARGET)),y) -TARGETS+=ccache_target -endif diff --git a/openwrt/toolchain/ccache/ccache.mk b/openwrt/toolchain/ccache/ccache.mk deleted file mode 100644 index cafdcd3d5d..0000000000 --- a/openwrt/toolchain/ccache/ccache.mk +++ /dev/null @@ -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) diff --git a/openwrt/toolchain/gcc/gcc-uclibc-3.x.mk b/openwrt/toolchain/gcc/gcc-uclibc-3.x.mk index c7f9495034..eb1fbe2ced 100644 --- a/openwrt/toolchain/gcc/gcc-uclibc-3.x.mk +++ b/openwrt/toolchain/gcc/gcc-uclibc-3.x.mk @@ -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) - diff --git a/openwrt/toolchain/uClibc/Makefile b/openwrt/toolchain/uClibc/Makefile index 301c78d419..c9c9788a0a 100644 --- a/openwrt/toolchain/uClibc/Makefile +++ b/openwrt/toolchain/uClibc/Makefile @@ -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 diff --git a/openwrt/toolchain/uClibc/uclibc.mk b/openwrt/toolchain/uClibc/uclibc.mk index f801f3df85..39e57d45ea 100644 --- a/openwrt/toolchain/uClibc/uclibc.mk +++ b/openwrt/toolchain/uClibc/uclibc.mk @@ -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 -