diff --git a/Makefile.config.in b/Makefile.config.in index 45fb74c911..bfe3deab9a 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 4df40c9d2c..b045534dcc 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)