--- sbbs/src/sbbs3/gnumakefile 2018/04/24 16:41:23 1.1.1.1 +++ sbbs/src/sbbs3/gnumakefile 2018/04/24 16:42:45 1.1.1.2 @@ -11,9 +11,10 @@ # Optional build targets: dlls, utils, mono, all (default) # ######################################################################### -# $Id: gnumakefile,v 1.1.1.1 2018/04/24 16:41:23 root Exp $ +# $Id: gnumakefile,v 1.1.1.2 2018/04/24 16:42:45 root Exp $ -SRC_ROOT = .. +PWD := $(shell pwd) +SRC_ROOT ?= ${PWD}/.. include $(SRC_ROOT)/build/Common.gmake UTIL_LDFLAGS := $(LDFLAGS) @@ -28,6 +29,7 @@ endif ifeq ($(os),sunos) # Solaris LDFLAGS += -lnsl -lrt + SBBS_LIBS += -lkstat endif # So far, only QNX has sem_timedwait() @@ -49,7 +51,18 @@ ifdef DONT_BLAME_SYNCHRONET CFLAGS += -DDONT_BLAME_SYNCHRONET endif +ifeq ($(os),linux) + ifeq ($(shell test -f /usr/include/sys/capability.h && echo "yes"),yes) + CFLAGS += -DUSE_LINUX_CAPS + SBBS_LIBS += -lcap + endif +endif + # JS and NSPR setup stuff... +ifeq ($(shell nspr-config --version > /dev/null 2>&1 && echo YES),YES) + NSPRDIR ?= $(shell nspr-config --libdir) + NSPRINCLUDE ?= $(shell nspr-config --includedir) +endif ifeq ($(os),sunos) ifeq ($(shell test -f /usr/sfw/lib/mozilla/libmozjs.so && echo "yes"),yes) @@ -100,7 +113,7 @@ CFLAGS += $(JS_CFLAGS) LDFLAGS += $(JS_LDFLAGS) ifndef CRYPTLIBDIR - CRYPTLIBDIR := $(SRC_ROOT)/../lib/cryptlib/$(os).release + CRYPTLIBDIR := $(SRC_ROOT)/../lib/cryptlib/$(machine).release endif LDFLAGS += -L$(CRYPTLIBDIR) @@ -108,23 +121,22 @@ include sbbsdefs.mk MT_CFLAGS += $(SBBSDEFS) # Set up LD_RUN_PATH for run-time locating of the .so files -PWD := $(shell pwd) ifdef SBBSDIR ifeq ($(os),sunos) - LD_RUN_PATH := $(SBBSDIR)/exec:$(PWD)/$(LIBODIR):$(PWD)/$(JSLIBDIR):$(PWD)/$(NSPRDIR):$(PWD)/$(CRYPTLIBDIR):/opt/sfw/gcc-3/lib + LD_RUN_PATH := $(SBBSDIR)/exec:$(LIBODIR):$(JSLIBDIR):$(NSPRDIR):$(CRYPTLIBDIR):/opt/sfw/gcc-3/lib else - LD_RUN_PATH := $(SBBSDIR)/exec:$(PWD)/$(LIBODIR):$(PWD)/$(JSLIBDIR):$(PWD)/$(NSPRDIR):$(PWD)/$(CRYPTLIBDIR) + LD_RUN_PATH := $(SBBSDIR)/exec:$(LIBODIR):$(JSLIBDIR):$(NSPRDIR):$(CRYPTLIBDIR) endif else ifeq ($(os),sunos) - LD_RUN_PATH := $(PWD)/$(LIBODIR):$(PWD)/$(JSLIBDIR):$(PWD)/$(NSPRDIR):$(PWD)/$(CRYPTLIBDIR):/opt/sfw/gcc-3/lib + LD_RUN_PATH := $(PWD)/$(LIBODIR):$(JSLIBDIR):$(NSPRDIR):$(CRYPTLIBDIR):/opt/sfw/gcc-3/lib else - LD_RUN_PATH := $(PWD)/$(LIBODIR):$(PWD)/$(JSLIBDIR):$(PWD)/$(NSPRDIR):$(PWD)/$(CRYPTLIBDIR) + LD_RUN_PATH := $(PWD)/$(LIBODIR):$(JSLIBDIR):$(NSPRDIR):$(CRYPTLIBDIR) endif endif export LD_RUN_PATH -CON_LIBS := -lsbbs -lftpsrvr -lwebsrvr -lmailsrvr -lservices +CON_LIBS += -lsbbs -lftpsrvr -lwebsrvr -lmailsrvr -lservices SHLIBOPTS := -shared ifeq ($(os),darwin) MKSHLIB := libtool -dynamic -framework System -lcc_dynamic @@ -142,6 +154,9 @@ else endif CFLAGS += $(UIFC-MT_CFLAGS) $(XPDEV-MT_CFLAGS) $(SMBLIB_CFLAGS) $(CIOLIB-MT_CFLAGS) +CFLAGS += -I../comio +vpath %.c ../comio +OBJS += $(MTOBJODIR)$(DIRSEP)comio_nix$(OFILE) LDFLAGS += $(UIFC-MT_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(SMBLIB_LDFLAGS) $(CIOLIB-MT_LDFLAGS) # Monolithic Synchronet executable Build Rule @@ -283,3 +298,8 @@ $(DUPEFIND): $(DUPEFIND_OBJS) $(SMBACTIV): $(SMBACTIV_OBJS) @echo Linking $@ $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(SMBACTIV_OBJS) $(SMBLIB_LIBS) $(XPDEV_LIBS) + +# DSTSEDIT +$(DSTSEDIT): $(DSTSEDIT_OBJS) + @echo Linking $@ + $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(DSTSEDIT_OBJS) $(XPDEV_LIBS)