about summary refs log tree commit diff
path: root/Makefile.lib
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.lib')
-rw-r--r--Makefile.lib23
1 files changed, 19 insertions, 4 deletions
diff --git a/Makefile.lib b/Makefile.lib
index 4df40c9d2cf4..b045534dcca8 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)