summaryrefslogtreecommitdiff
path: root/src/makefiles/Makefile.freebsd
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2010-07-05 18:54:38 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2010-07-05 18:54:38 +0000
commit291a9577454a63f99b5537e48a3dceae6d35ea8d (patch)
treea842e9bd4b21b681b89516a33fe65b207a21c42d /src/makefiles/Makefile.freebsd
parenteb81b6509f4c9109ecf8839d8c482cc597270687 (diff)
downloadpostgresql-291a9577454a63f99b5537e48a3dceae6d35ea8d.tar.gz
Split the LDFLAGS make variable into two parts: LDFLAGS is now used for
linking both executables and shared libraries, and we add on LDFLAGS_EX when linking executables or LDFLAGS_SL when linking shared libraries. This provides a significantly cleaner way of dealing with link-time switches than the former behavior. Also, make sure that the various platform-specific %.so: %.o rules incorporate LDFLAGS and LDFLAGS_SL; most of them missed that before. (I did not add these variables for the platforms that invoke $(LD) directly, however. It's not clear if we can do that safely, since for the most part we assume these variables use CC command-line syntax.) Per gripe from Aaron Swenson and subsequent investigation.
Diffstat (limited to 'src/makefiles/Makefile.freebsd')
-rw-r--r--src/makefiles/Makefile.freebsd3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/makefiles/Makefile.freebsd b/src/makefiles/Makefile.freebsd
index 57afc18524..839864c7f8 100644
--- a/src/makefiles/Makefile.freebsd
+++ b/src/makefiles/Makefile.freebsd
@@ -14,9 +14,10 @@ allow_nonpic_in_shlib = yes
endif
+# Rule for building a shared library from a single .o file
%.so: %.o
ifdef ELF_SYSTEM
- $(CC) $(CFLAGS) -shared -o $@ $<
+ $(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SL) -shared -o $@ $<
else
$(LD) $(LDREL) $(LDOUT) $<.obj -x $<
@echo building shared object $@