aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.config.in1
-rw-r--r--Makefile.lib23
2 files changed, 20 insertions, 4 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 = @
-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)