]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - lfs/cleanup-toolchain
Add support to build an ARM toolchain.
[ipfire-2.x.git] / lfs / cleanup-toolchain
index a5cffbb2594c324b5c95c55cee5c1eac63dbb1ed..445ff73a14e174dfc0a4085bd582f2efebabd51c 100644 (file)
@@ -1,22 +1,20 @@
 ###############################################################################
-# This file is part of the IPCop Firewall.                                    #
 #                                                                             #
-# IPCop is free software; you can redistribute it and/or modify               #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
-# the Free Software Foundation; either version 2 of the License, or           #
+# the Free Software Foundation, either version 3 of the License, or           #
 # (at your option) any later version.                                         #
 #                                                                             #
-# IPCop is distributed in the hope that it will be useful,                    #
+# This program is distributed in the hope that it will be useful,             #
 # but WITHOUT ANY WARRANTY; without even the implied warranty of              #
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
 # GNU General Public License for more details.                                #
 #                                                                             #
 # You should have received a copy of the GNU General Public License           #
-# along with IPCop; if not, write to the Free Software                        #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA    #
-#                                                                             #
-# Makefiles are based on LFSMake, which is                                    #
-# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com>                        #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
 #                                                                             #
 ###############################################################################
 
@@ -31,6 +29,12 @@ VER        = ipfire
 THISAPP    = cleanup-toolchain
 TARGET     = $(DIR_INFO)/$(THISAPP)-$(PASS)-tools
 
+ifeq "$(MACHINE)" "arm"
+       GCC_VER = 4.1.2
+else
+       GCC_VER = 4.0.4
+endif
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
@@ -53,15 +57,14 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
 ifeq "$(PASS)" "1"
        mv -v /tools/bin/{ld,ld-old}
-       mv -v /tools/i686-pc-linux-gnu/bin/{ld,ld-old}
+       mv -v /tools/$(BUILDTARGET)/bin/{ld,ld-old}
        cp -v /tools/bin/{ld-new,ld}
-       ln -sv /tools/bin/ld /tools/i686-pc-linux-gnu/bin/ld
-       /tools/bin/gcc -dumpspecs > /tools/lib/gcc/i686-pc-linux-gnu/4.0.3/specs
-       sed 's@^/lib/ld-linux.so.2@/tools&@g' /tools/lib/gcc/i686-pc-linux-gnu/4.0.3/specs > tempspecfile
-       mv -vf tempspecfile /tools/lib/gcc/i686-pc-linux-gnu/4.0.3/specs
-       GCC_INCLUDEDIR=/tools/lib/gcc/i686-pc-linux-gnu/4.0.3/include
-       find /tools/lib/gcc/i686-pc-linux-gnu/4.0.3/include/* -maxdepth 0 -xtype d -exec rm -rvf '{}' \;
-       rm -vf `grep -l "DO NOT EDIT THIS FILE" /tools/lib/gcc/i686-pc-linux-gnu/4.0.3/include/*`
+       ln -sv /tools/bin/ld /tools/$(BUILDTARGET)/bin/ld
+       gcc -dumpspecs > /tools/lib/gcc/$(BUILDTARGET)/$(GCC_VER)/specs
+       sed 's@/lib/ld-linux.so@/tools&@g' /tools/lib/gcc/$(BUILDTARGET)/$(GCC_VER)/specs > tempspecfile
+       mv -vf tempspecfile /tools/lib/gcc/$(BUILDTARGET)/$(GCC_VER)/specs
+       find /tools/lib/gcc/$(BUILDTARGET)/$(GCC_VER)/include/* -maxdepth 0 -xtype d -exec rm -rvf '{}' \;
+       rm -vf `grep -l "DO NOT EDIT THIS FILE" /tools/lib/gcc/$(BUILDTARGET)/$(GCC_VER)/include/*`
 endif
 ifeq "$(PASS)" "2"
        -strip --strip-debug /tools/lib/*
@@ -71,12 +74,12 @@ ifeq "$(PASS)" "2"
 endif
 ifeq "$(PASS)" "3"
        mv -v /tools/bin/{ld,ld-old}
-       mv -v /tools/i686-pc-linux-gnu/bin/{ld,ld-old}
+       mv -v /tools/$(BUILDTARGET)/bin/{ld,ld-old}
        mv -v /tools/bin/{ld-new,ld}
-       ln -sv /tools/bin/ld /tools/i686-pc-linux-gnu/bin/ld
+       ln -sv /tools/bin/ld /tools/$(BUILDTARGET)/bin/ld
        gcc -dumpspecs | \
-       perl -p -e 's@/tools/lib/ld-linux.so.2@/lib/ld-linux.so.2@g;' \
-           -e 's@\*startfile_prefix_spec:\n@$_/usr/lib/ @g;' > \
-           `dirname $(gcc --print-libgcc-file-name)`/specs
+       perl -p -e 's@/tools/lib/ld-linux.so@/lib/ld-linux.so@g;' \
+           -e 's@\*startfile_prefix_spec:\n@$$_/usr/lib/ @g;' > \
+           /tools/lib/gcc/$(BUILDTARGET)/$(GCC_VER)/specs
 endif
        @$(POSTBUILD)