X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=lfs%2Fstrip;h=08aaee7c4b10390fac938206491bcb13cd1809f4;hb=f3cbcfeff9e8ce263c812a25a24c7f4f14d4a64f;hp=c0da4d3df7f8507d574c34597636f73dad8a381c;hpb=65998e0a05463089cb7f6ad29baba5f9ed4fbc69;p=ipfire-2.x.git diff --git a/lfs/strip b/lfs/strip index c0da4d3df7..08aaee7c4b 100644 --- a/lfs/strip +++ b/lfs/strip @@ -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-2018 IPFire Team # +# # +# 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 # +# along with this program. If not, see . # # # ############################################################################### @@ -31,6 +29,16 @@ VER = ipfire THISAPP = strip TARGET = $(DIR_INFO)/$(THISAPP) +ifeq "$(TOOLCHAIN)" "1" + SHELL = /bin/bash + STRIP = /usr/bin/strip + ROOT = $(TOOLS_DIR) +else + SHELL = $(TOOLS_DIR)/bin/bash + STRIP = $(TOOLS_DIR)/bin/strip + ROOT = / +endif + ############################################################################### # Top-level Rules ############################################################################### @@ -48,25 +56,9 @@ md5 : ############################################################################### $(TARGET) : - -ifeq "$(LFS_PASS)" "toolchain" - -find $(TOOLS_DIR)/lib -type f -exec $(TOOLS_DIR)/bin/strip --strip-debug '{}' ';' - -find $(TOOLS_DIR)/{bin,sbin,libexec} -type f -exec $(TOOLS_DIR)/bin/strip --strip-all '{}' ';' - rm -rf $(TOOLS_DIR)/{,share/}{doc,info,man} -endif - -ifeq "$(LFS_PASS)" "install" - # Add -ls before -exec if you want to verify what files are in the path to be stripped - # A running binary can't be stripped, so use the version from /tools - # It may fail (signal 11) under circonstance not identified by me (Gilles), - # to strip libc again so ignore the error now. Probably need a static strip for libc - # Don't use --strip-all on libraries, or they'll be destroyed. Don't use --strip-unneeded, either. - -/tools/bin/find /lib /usr/lib /usr/share/rrdtool-* /install/initrd/lib \ - -type f \( -name '*.so' -o -name '*.so[\.0-9]*' \) \ - -exec /tools/bin/strip --strip-debug {} \; 2>/dev/null - - -/tools/bin/strip --strip-all /{,usr/}{,local/}{bin,sbin}/* /install/{initrd,misc}/bin/* - -/tools/bin/strip --strip-all /usr/lib/awk/{grcat,pwcat} - -/tools/bin/strip --strip-all /usr/lib/gcc/*-linux-gnu/4.0.3/{cc1*,collect2} -endif - + # Don't strip VDR binaries, because they use a weird plugin system + # which does not work when unneeded symbols get stripped from + # /usr/sbin/vdr. + STRIP=$(STRIP) $(SHELL) $(DIR_SRC)/src/stripper $(ROOT) \ + --exclude=/usr/src --exclude=$(TOOLS_DIR) \ + --exclude=/usr/sbin/vdr --exclude=/usr/lib/vdr