• Tom Lane's avatar
    Split the LDFLAGS make variable into two parts: LDFLAGS is now used for · 291a9577
    Tom Lane authored
    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.
    291a9577
Makefile.solaris 540 Bytes
# $PostgreSQL: pgsql/src/makefiles/Makefile.solaris,v 1.15 2010/07/05 18:54:38 tgl Exp $

AROPT = crs

ifeq ($(with_gnu_ld), yes)
export_dynamic = -Wl,-E
rpath = -Wl,-rpath,'$(rpathdir)'
else
rpath = -Wl,-R'$(rpathdir)'
endif

DLSUFFIX = .so
ifeq ($(GCC), yes)
CFLAGS_SL = -fPIC
else
CFLAGS_SL = -KPIC
endif

# Rule for building a shared library from a single .o file
%.so: %.o
ifeq ($(GCC), yes)
	$(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SL) -shared -o $@ $<
else
	$(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SL) -G -o $@ $<
endif

sqlmansect = 5sql