From 812b5a30ecc9d8f78b54644b37c5c2c4375555bc Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 22 Nov 2013 19:51:18 +0000 Subject: [PATCH] Add a Makefile variable for enabling debug info --- Makefile.config.in | 1 + Makefile.lib | 25 ++++++++++++++++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/Makefile.config.in b/Makefile.config.in index 45fb74c91..bfe3deab9 100644 --- a/Makefile.config.in +++ b/Makefile.config.in @@ -1,3 +1,4 @@ +BUILD_DEBUG = 1 CC = @CC@ CFLAGS = @CFLAGS@ CXX = @CXX@ diff --git a/Makefile.lib b/Makefile.lib index 4df40c9d2..b045534dc 100644 --- a/Makefile.lib +++ b/Makefile.lib @@ -17,17 +17,33 @@ endef $(foreach mf, $(SUBS), $(eval $(call include_sub_makefile, $(mf)))) +# Initialise some variables. clean_list := dist_files := - - QUIET = @ + +# Pass -fPIC if we're building dynamic libraries. +ifeq ($(BUILD_SHARED_LIBS), 1) +GLOBAL_CFLAGS += -fPIC +GLOBAL_CXXFLAGS += -fPIC +endif + + +# Pass -g if we want debug info. +ifeq ($(BUILD_DEBUG), 1) +GLOBAL_CFLAGS += -g +GLOBAL_CXXFLAGS += -g +endif + + +# Pattern rules. + %.o: %.cc - $(QUIET) $(CXX) -o $@ -c $< -g -fPIC $(GLOBAL_CXXFLAGS) $(CXXFLAGS) $($@_CXXFLAGS) -MMD -MF $(basename $@).dep -MP + $(QUIET) $(CXX) -o $@ -c $< $(GLOBAL_CXXFLAGS) $(CXXFLAGS) $($@_CXXFLAGS) -MMD -MF $(basename $@).dep -MP %.o: %.c - $(QUIET) $(CC) -o $@ -c $< -g -fPIC $(GLOBAL_CFLAGS) $(CFLAGS) $($@_CFLAGS) -MMD -MF $(basename $@).dep -MP + $(QUIET) $(CC) -o $@ -c $< $(GLOBAL_CFLAGS) $(CFLAGS) $($@_CFLAGS) -MMD -MF $(basename $@).dep -MP # Generate Make rules for libraries. @@ -91,7 +107,6 @@ dist: # Cleaning stuff. - clean: rm -fv $(clean_list)