diff --git a/src/sbbs3/GNUmakefile b/src/sbbs3/GNUmakefile index 1f4a7a32bd80ac5445e56b14ca4b1fecb7019119..8c682a859e673a2cd6861d1decff8b7af46d65f0 100644 --- a/src/sbbs3/GNUmakefile +++ b/src/sbbs3/GNUmakefile @@ -150,12 +150,16 @@ ifndef NO_LD_RUN_PATH endif CON_LIBS += -lsbbs -lftpsrvr -lwebsrvr -lmailsrvr -lservices -SHLIBOPTS := -shared ifeq ($(os),sunos) MKSHLIB := /usr/ccs/bin/ld -G MKSHPPLIB := /usr/ccs/bin/ld -G SHLIBOPTS := else + ifeq ($(os),darwin) + SHLIBOPTS = -shared -install_name `realpath $(SBBSDIR)`/$@ + else + SHLIBOPTS := -shared + endif MKSHLIB := $(CC) MKSHPPLIB := $(CXX) endif diff --git a/src/sbbs3/gtkmonitor/GNUmakefile b/src/sbbs3/gtkmonitor/GNUmakefile index ebb4b9da90a15a674200bb4e279e6b1bcb055552..2f6981002a5e202dd810e25bfeea0034afe8499c 100644 --- a/src/sbbs3/gtkmonitor/GNUmakefile +++ b/src/sbbs3/gtkmonitor/GNUmakefile @@ -24,19 +24,23 @@ endif vpath %.c .. CFLAGS += $(SBBSDEFS) -I.. -I../../comio $(SMBLIB_CFLAGS) $(HASH_CFLAGS) $(XPDEV-MT_CFLAGS) $(JS_CFLAGS) $(CRYPT_CFLAGS) `pkg-config gtk+-3.0 --cflags` -# Hopefully, -Wl,-E exports all symbols dynamically everywhere. -LDFLAGS += -Wl,-E -L../$(LIBODIR) $(SMBLIB_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(MT_LDFLAGS) +LDFLAGS += -L../$(LIBODIR) $(SMBLIB_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(MT_LDFLAGS) EXTRA_LIBS += `pkg-config gtk+-3.0 --libs` # Because pkg-config for libglade uses --rpath, we need to also, LD_RUN_PATH # won't work. :-( +ifeq ($(os),darwin) + RPATH := -rpath +else + RPATH := --rpath +endif ifdef SBBSDIR - LDFLAGS += -Wl,--rpath -Wl,$(SBBSDIR)/exec + LDFLAGS += -Wl,$(RPATH),$(SBBSDIR)/exec endif PARENT_DIR = $(shell dirname `pwd`) -LDFLAGS += -Wl,--rpath -Wl,$(PARENT_DIR)/$(LIBODIR) +LDFLAGS += -Wl,$(RPATH),$(PARENT_DIR)/$(LIBODIR) ifeq ($(os),sunos) - LDFLAGS += -Wl,--rpath -Wl,/opt/sfw/gcc-3/lib + LDFLAGS += -Wl,$(RPATH),/opt/sfw/gcc-3/lib endif $(GTKMONITOR): $(OBJS) diff --git a/src/sbbs3/gtkuseredit/GNUmakefile b/src/sbbs3/gtkuseredit/GNUmakefile index e0fde23aefd6cd5878de0b52252f6b8f73e1c584..a35a9d0e04bf24379fc65d19bfc352e15bf855b6 100644 --- a/src/sbbs3/gtkuseredit/GNUmakefile +++ b/src/sbbs3/gtkuseredit/GNUmakefile @@ -24,19 +24,23 @@ endif vpath %.c .. CFLAGS += $(SBBSDEFS) -I.. -I../../comio $(SMBLIB_CFLAGS) $(HASH_CFLAGS) $(XPDEV-MT_CFLAGS) $(JS_CFLAGS) $(CRYPT_CFLAGS) `pkg-config gtk+-3.0 --cflags` -# Hopefully, -Wl,-E exports all symbols dynamically everywhere. -LDFLAGS += -Wl,-E -L../$(LIBODIR) $(SMBLIB_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(MT_LDFLAGS) +LDFLAGS += -L../$(LIBODIR) $(SMBLIB_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(MT_LDFLAGS) EXTRA_LIBS += `pkg-config gtk+-3.0 --libs` # Because pkg-config for libglade uses --rpath, we need to also, LD_RUN_PATH # won't work. :-( +ifeq ($(os),darwin) + RPATH := -rpath +else + RPATH := --rpath +endif ifdef SBBSDIR - LDFLAGS += -Wl,--rpath -Wl,$(SBBSDIR)/exec + LDFLAGS += -Wl,$(RPATH),$(SBBSDIR)/exec endif PARENT_DIR = $(shell dirname `pwd`) -LDFLAGS += -Wl,--rpath -Wl,$(PARENT_DIR)/$(LIBODIR) +LDFLAGS += -Wl,$(RPATH),$(PARENT_DIR)/$(LIBODIR) ifeq ($(os),sunos) - LDFLAGS += -Wl,--rpath -Wl,/opt/sfw/gcc-3/lib + LDFLAGS += -Wl,$(RPATH),/opt/sfw/gcc-3/lib endif $(GTKUSEREDIT): $(OBJS) diff --git a/src/sbbs3/gtkuserlist/GNUmakefile b/src/sbbs3/gtkuserlist/GNUmakefile index 77189edabc602272c72875682de9457955853906..356ad3ad34141eb405d2272fd637ea147ee9119f 100644 --- a/src/sbbs3/gtkuserlist/GNUmakefile +++ b/src/sbbs3/gtkuserlist/GNUmakefile @@ -24,19 +24,23 @@ endif vpath %.c .. CFLAGS += $(SBBSDEFS) -I.. -I../../comio $(SMBLIB_CFLAGS) $(HASH_CFLAGS) $(XPDEV-MT_CFLAGS) $(CRYPT_CFLAGS) `pkg-config gtk+-3.0 --cflags` -# Hopefully, -Wl,-E exports all symbols dynamically everywhere. -LDFLAGS += -Wl,-E -L../$(LIBODIR) $(SMBLIB_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(MT_LDFLAGS) +LDFLAGS += -L../$(LIBODIR) $(SMBLIB_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(MT_LDFLAGS) EXTRA_LIBS += `pkg-config gtk+-3.0 --libs` # Because pkg-config for libglade uses --rpath, we need to also, LD_RUN_PATH # won't work. :-( +ifeq ($(os),darwin) + RPATH := -rpath +else + RPATH := --rpath +endif ifdef SBBSDIR - LDFLAGS += -Wl,--rpath -Wl,$(SBBSDIR)/exec + LDFLAGS += -Wl,$(RPATH),$(SBBSDIR)/exec endif PARENT_DIR = $(shell dirname `pwd`) -LDFLAGS += -Wl,--rpath -Wl,$(PARENT_DIR)/$(LIBODIR) +LDFLAGS += -Wl,$(RPATH),$(PARENT_DIR)/$(LIBODIR) ifeq ($(os),sunos) - LDFLAGS += -Wl,--rpath -Wl,/opt/sfw/gcc-3/lib + LDFLAGS += -Wl,$(RPATH),/opt/sfw/gcc-3/lib endif $(GTKUSERLIST): $(OBJS)