###############################################################################
-# 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 <info@ipfire.org> #
+# #
+# 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/>. #
# #
###############################################################################
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
###############################################################################
###############################################################################
$(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=$(TOOLS_DIR) \
+ --exclude=/dev \
+ --exclude=/proc \
+ --exclude=/sys \
+ --exclude=/tmp \
+ --exclude=/usr/src \
+ --exclude=/usr/lib/vdr \
+ --exclude=/usr/sbin/vdr \
+ --exclude=/var/tmp \
+ --exclude=/usr/lib/go