From 1ab6425074ed854162c913f1ff8a86b05fccb53a Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Mon, 16 Jul 2007 18:30:56 +0000 Subject: [PATCH] make: Add support for stripping symbols from executables --- make/cfg_dev.mk | 1 + make/defs.mk | 7 +++++++ make/lib.mk | 2 +- make/rules.mk | 4 ++++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/make/cfg_dev.mk b/make/cfg_dev.mk index b9be5780..eaa31ee3 100644 --- a/make/cfg_dev.mk +++ b/make/cfg_dev.mk @@ -71,3 +71,4 @@ USE_COMPILER_DEBUG_OPTS = true #LOG_THREAD_NAMES = true #USE_COMPILER_OPTIMIZATION_OPTS = true #USE_TRACING = true +#STRIP_SYMBOLS = true diff --git a/make/defs.mk b/make/defs.mk index 83b3179f..eedc2184 100644 --- a/make/defs.mk +++ b/make/defs.mk @@ -61,11 +61,13 @@ CROSS_TOOL_DIR = /opt/cross-tools CROSS_TOOL_BIN_PREFIX = $(CROSS_TOOL_DIR)/bin/i386-mingw32- GCC = $(CROSS_TOOL_BIN_PREFIX)gcc GPP = $(CROSS_TOOL_BIN_PREFIX)g++ +STRIP = $(CROSS_TOOL_BIN_PREFIX)strip LDFLAGS += -lws2_32 USE_GFILTER = false else GCC = gcc GPP = g++ +STRIP = strip endif YTOOLS_DIR = $(MODDIR) @@ -210,6 +212,7 @@ INSTALLED_EXE_SH += $(addprefix $(INSTALL_BINDIR)/,$(EXE_SH)) INSTALLED_EXE_BIN += $(addprefix $(INSTALL_BINDIR)/,$(EXE_BIN)) INSTALLED_MKFILES += $(addprefix $(INSTALL_MKDIR)/,$(MKFILES)) INSTALLED_H += $(addprefix $(INSTALL_HDRDIR)/,$(SRC_H)) +EXE_ALL += $(EXE) $(wildcard *.a *.dll *.so *.so.*) INSTALLED_PROFILE_PATH_SCRIPT = $(ENV_PREFIX)/etc/profile.d/path_$(PROJECT).sh @@ -440,6 +443,10 @@ ifeq ($(USE_COMPILER_OPTIMIZATION_OPTS),true) CPPFLAGS += -funroll-loops -O2 endif +ifeq ($(STRIP_SYMBOLS),true) + STRIP_DONE ?= strip.done +endif + #export PROJECT PROJECT_CFLAGS PROJECT_CPPFLAGS PROJECT_LDFLAGS USE_TIMER diff --git a/make/lib.mk b/make/lib.mk index 3eb74426..fd351b5b 100644 --- a/make/lib.mk +++ b/make/lib.mk @@ -6,7 +6,7 @@ include $(MODDIR)/make/defs.mk -all: $(LIB_SO) $(LINKS_SO) +all: $(LIB_SO) $(LINKS_SO) $(STRIP_DONE) include $(MODDIR)/make/rules.mk diff --git a/make/rules.mk b/make/rules.mk index ed1147ff..5466adb7 100644 --- a/make/rules.mk +++ b/make/rules.mk @@ -13,6 +13,10 @@ echo_all: all.done: $(PREREQ_DONE) $(LOCAL_TARGETS) $(ALL) touch $@ +strip.done: $(EXE_ALL) + $(STRIP) $^ + touch $@ + %.done: make -$(MAKEFLAGS) -C $(shell dirname $@) `basename $@`