aboutsummaryrefslogtreecommitdiff
path: root/Makefile.common
diff options
context:
space:
mode:
authorMax Horn2003-09-20 00:07:37 +0000
committerMax Horn2003-09-20 00:07:37 +0000
commit7840039156b1ec23e92cfb64f4abd857761b5f97 (patch)
treef82bec5a67c8c2e29496e3da80fdd1c790556a32 /Makefile.common
parent6c57e2bb17fb3b1e6b7329f1d2bcbc23a0c96c81 (diff)
downloadscummvm-rg350-7840039156b1ec23e92cfb64f4abd857761b5f97.tar.gz
scummvm-rg350-7840039156b1ec23e92cfb64f4abd857761b5f97.tar.bz2
scummvm-rg350-7840039156b1ec23e92cfb64f4abd857761b5f97.zip
yet another fix for linux+loadable modules
svn-id: r10324
Diffstat (limited to 'Makefile.common')
-rw-r--r--Makefile.common18
1 files changed, 10 insertions, 8 deletions
diff --git a/Makefile.common b/Makefile.common
index cd984f42a7..e998a20a5e 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -47,15 +47,17 @@ ifdef BUILD_PLUGINS
CXXFLAGS += -DDYNAMIC_MODULES
# Uncomment these for Mac OS X
-#PLUGIN_LDFLAGS += -bundle -bundle_loader $(EXECUTABLE)
-#LDFLAGS += -all_load
-#LIBS += -ldl
+#PLUGIN_LDFLAGS += -bundle -bundle_loader $(EXECUTABLE)
+#PRE_OBJS_FLAGS := -all_load
+#POST_OBJS_FLAGS :=
+#LIBS += -ldl
# Uncomment these for Linux
-CXXFLAGS += -fpic
-PLUGIN_LDFLAGS += -shared
-LDFLAGS += -Wl,--export-dynamic
-LIBS += -ldl
+CXXFLAGS += -fpic
+PLUGIN_LDFLAGS += -shared
+PRE_OBJS_FLAGS := -Wl,-export-dynamic -Wl,-whole-archive
+POST_OBJS_FLAGS := -Wl,-no-whole-archive
+LIBS += -ldl
endif
@@ -119,7 +121,7 @@ base/main.o: $(filter-out base/libbase.a,$(OBJS))
# The build rule for the ScummVM executable
$(EXECUTABLE): $(OBJS)
- $(CXX) $(LDFLAGS) $+ $(LIBS) -o $@
+ $(CXX) $(LDFLAGS) $(PRE_OBJS_FLAGS) $+ $(POST_OBJS_FLAGS) $(LIBS) -o $@
distclean: clean
$(RM_REC) $(DEPDIRS)