Annotation of sbbs/src/sbbs3/gnumakefile, revision 1.1.1.1

1.1       root        1: # GNUmakefile
                      2: 
                      3: #########################################################################
                      4: # Makefile for Synchronet BBS for Unix                                                                 #
                      5: # For use with GNU make and GNU C Compiler or Borland Kylix C++                        #
                      6: # @format.tab-size 4, @format.use-tabs true                                                            #
                      7: #                                                                                                                                              #
                      8: # gcc: gmake                                                                                                                   #
                      9: # Borland (still in testing/debuging stage): gmake bcc=1                               #
                     10: #                                                                                                                                              #
                     11: # Optional build targets: dlls, utils, mono, all (default)                             #
                     12: #########################################################################
                     13: 
                     14: # $Id: GNUmakefile,v 1.200 2006/12/31 00:14:04 deuce Exp $
                     15: 
                     16: SRC_ROOT       =       ..
                     17: include $(SRC_ROOT)/build/Common.gmake
                     18: 
                     19: UTIL_LDFLAGS   :=      $(LDFLAGS)
                     20: UTIL_LDFLAGS   +=      $(SMBLIB_LDFLAGS) $(UIFC-MT_LDFLAGS) $(CIOLIB-MT_LDFLAGS) $(XPDEV_LDFLAGS)
                     21: UTIL_LIBS      +=      $(SMBLIB_LIBS)
                     22: 
                     23: ifndef bcc
                     24:  ifneq ($(os),sunos)
                     25:   LDFLAGS      +=      -lutil
                     26:  endif
                     27: endif
                     28: 
                     29: ifeq ($(os),sunos)    # Solaris
                     30:  LDFLAGS += -lnsl -lrt
                     31: endif
                     32: 
                     33: # So far, only QNX has sem_timedwait()
                     34: ifeq ($(os),qnx)
                     35:  LDFLAGS += -lsocket
                     36: endif
                     37: 
                     38: SBBS_LIBS      +=      -lcl
                     39: 
                     40: ifdef PREFIX
                     41:  CFLAGS += -DPREFIX=$(PREFIX)
                     42: endif
                     43: 
                     44: ifdef USE_DOSEMU
                     45:  CFLAGS += -DUSE_DOSEMU
                     46: endif
                     47: 
                     48: ifdef DONT_BLAME_SYNCHRONET
                     49:  CFLAGS += -DDONT_BLAME_SYNCHRONET
                     50: endif
                     51: 
                     52: # JS and NSPR setup stuff...
                     53: 
                     54: ifeq ($(os),sunos)
                     55:  ifeq ($(shell test -f /usr/sfw/lib/mozilla/libmozjs.so && echo "yes"),yes)
                     56:   JSLIBDIR ?= /usr/sfw/lib/mozilla
                     57:   JSLIB ?= mozjs
                     58:  endif
                     59:  ifeq ($(shell test -f /usr/sfw/lib/mozilla/libnspr4.so && echo "yes"),yes)
                     60:   NSPRDIR ?= /usr/sfw/lib/mozilla
                     61:   ifeq ($(shell test -d /usr/sfw/include/mozilla/nspr && echo "yes"),yes)
                     62:    NSPRINCLUDE ?= /usr/sfw/include/mozilla/nspr
                     63:   endif
                     64:  endif
                     65: endif
                     66: 
                     67: CFLAGS += -DJAVASCRIPT
                     68: ifdef JSINCLUDE
                     69:  CFLAGS += -I$(JSINCLUDE)
                     70: else
                     71:  CFLAGS += -I$(SRC_ROOT)$(DIRSEP)..$(DIRSEP)include$(DIRSEP)mozilla$(DIRSEP)js
                     72: endif
                     73: ifdef NSPRINCLUDE
                     74:  CFLAGS += -I$(NSPRINCLUDE)
                     75: else
                     76:  # Use local NSPR first...
                     77:  CFLAGS += -I/usr/local/include -I$(SRC_ROOT)$(DIRSEP)..$(DIRSEP)include$(DIRSEP)mozilla$(DIRSEP)nspr
                     78: endif
                     79: ifdef CRYPTLIBINCLUDE
                     80:  CFLAGS += -I$(CRYPTLIBINCLUDE)
                     81: else
                     82:  CFLAGS += -I$(SRC_ROOT)/../include/cryptlib
                     83: endif
                     84: ifndef JSLIBDIR
                     85:  JSLIBDIR := $(SRC_ROOT)$(DIRSEP)..$(DIRSEP)lib$(DIRSEP)mozilla$(DIRSEP)js$(DIRSEP)$(machine).$(BUILD)
                     86: endif
                     87: ifndef JSLIB
                     88:  JSLIB :=      js
                     89: endif
                     90: ifndef NSPRDIR
                     91:  NSPRDIR := $(SRC_ROOT)$(DIRSEP)..$(DIRSEP)lib$(DIRSEP)mozilla$(DIRSEP)nspr$(DIRSEP)$(machine).$(BUILD)
                     92: endif
                     93: JS_LDFLAGS += -L$(JSLIBDIR) -l$(JSLIB)
                     94: #The following is needed for nspr support on Linux
                     95: ifeq ($(os),linux)
                     96:  JS_LDFLAGS    +=      -ldl
                     97: endif
                     98: JS_LDFLAGS     +=      -L/usr/local/lib -L$(NSPRDIR) -lnspr4
                     99: CFLAGS +=      $(JS_CFLAGS)
                    100: LDFLAGS        +=      $(JS_LDFLAGS)
                    101: 
                    102: ifndef CRYPTLIBDIR
                    103:  CRYPTLIBDIR := $(SRC_ROOT)/../lib/cryptlib/$(os).release
                    104: endif
                    105: LDFLAGS        +=      -L$(CRYPTLIBDIR)
                    106: 
                    107: include sbbsdefs.mk
                    108: MT_CFLAGS      +=      $(SBBSDEFS)
                    109: 
                    110: # Set up LD_RUN_PATH for run-time locating of the .so files
                    111: PWD    :=      $(shell pwd)
                    112: ifdef SBBSDIR
                    113:  ifeq ($(os),sunos)
                    114:   LD_RUN_PATH  :=      $(SBBSDIR)/exec:$(PWD)/$(LIBODIR):$(PWD)/$(JSLIBDIR):$(PWD)/$(NSPRDIR):$(PWD)/$(CRYPTLIBDIR):/opt/sfw/gcc-3/lib
                    115:  else
                    116:   LD_RUN_PATH  :=      $(SBBSDIR)/exec:$(PWD)/$(LIBODIR):$(PWD)/$(JSLIBDIR):$(PWD)/$(NSPRDIR):$(PWD)/$(CRYPTLIBDIR)
                    117:  endif
                    118: else
                    119:  ifeq ($(os),sunos)
                    120:   LD_RUN_PATH  :=      $(PWD)/$(LIBODIR):$(PWD)/$(JSLIBDIR):$(PWD)/$(NSPRDIR):$(PWD)/$(CRYPTLIBDIR):/opt/sfw/gcc-3/lib
                    121:  else
                    122:   LD_RUN_PATH  :=      $(PWD)/$(LIBODIR):$(PWD)/$(JSLIBDIR):$(PWD)/$(NSPRDIR):$(PWD)/$(CRYPTLIBDIR)
                    123:  endif
                    124: endif
                    125: export LD_RUN_PATH
                    126: 
                    127: CON_LIBS       := -lsbbs -lftpsrvr -lwebsrvr -lmailsrvr -lservices
                    128: SHLIBOPTS      :=      -shared
                    129: ifeq ($(os),darwin)
                    130:  MKSHLIB               :=      libtool -dynamic -framework System -lcc_dynamic
                    131:  MKSHPPLIB             :=      libtool -dynamic -framework System -lcc_dynamic -lstdc++
                    132:  SHLIBOPTS     :=      
                    133: else
                    134:  ifeq ($(os),sunos)
                    135:   MKSHLIB              :=      /usr/ccs/bin/ld -G
                    136:   MKSHPPLIB            :=      /usr/ccs/bin/ld -G
                    137:   SHLIBOPTS    :=      
                    138:  else
                    139:   MKSHLIB              :=      $(CC)
                    140:   MKSHPPLIB            :=      $(CXX)
                    141:  endif
                    142: endif
                    143: 
                    144: CFLAGS +=      $(UIFC-MT_CFLAGS) $(XPDEV-MT_CFLAGS) $(SMBLIB_CFLAGS) $(CIOLIB-MT_CFLAGS)
                    145: LDFLAGS +=     $(UIFC-MT_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(SMBLIB_LDFLAGS) $(CIOLIB-MT_LDFLAGS)
                    146: 
                    147: # Monolithic Synchronet executable Build Rule
                    148: $(SBBSMONO): $(MONO_OBJS) $(OBJS)
                    149:        @echo Linking $@
                    150:        $(QUIET)$(CXX) -o $@ $(LDFLAGS) $(MT_LDFLAGS) $(MONO_OBJS) $(OBJS) $(SBBS_LIBS) $(SMBLIB_LIBS) $(XPDEV-MT_LIBS)
                    151: 
                    152: # Synchronet BBS library Link Rule
                    153: $(SBBS): $(OBJS) $(LIBS)
                    154:        @echo Linking $@
                    155:        $(QUIET)$(MKSHPPLIB) $(LDFLAGS) -o $@ $(OBJS) $(SBBS_LIBS) $(LIBS) $(SHLIBOPTS)
                    156: 
                    157: # FTP Server Link Rule
                    158: $(FTPSRVR): $(MTOBJODIR)/ftpsrvr.o
                    159:        @echo Linking $@
                    160:        $(QUIET)$(MKSHLIB) $(LDFLAGS) $(MTOBJODIR)/ftpsrvr.o $(SHLIBOPTS) -o $@
                    161: 
                    162: # Mail Server Link Rule
                    163: $(MAILSRVR): $(MAIL_OBJS)
                    164:        @echo Linking $@
                    165:        $(QUIET)$(MKSHLIB) $(LDFLAGS) $(MAIL_OBJS) $(SHLIBOPTS) -o $@
                    166: 
                    167: # Web Server Link Rule
                    168: $(WEBSRVR): $(WEB_OBJS)
                    169:        @echo Linking $@
                    170:        $(QUIET)$(MKSHLIB) $(LDFLAGS) $(WEB_OBJS) $(SHLIBOPTS) -o $@
                    171: 
                    172: # Services Link Rule
                    173: $(SERVICES): $(SERVICE_OBJS)
                    174:        @echo Linking $@
                    175:        $(QUIET)$(MKSHLIB) $(LDFLAGS) $(SERVICE_OBJS) $(SHLIBOPTS) -o $@
                    176: 
                    177: # Synchronet Console Build Rule
                    178: $(SBBSCON): $(CON_OBJS) $(SBBS) $(FTPSRVR) $(WEBSRVR) $(MAILSRVR) $(SERVICES)
                    179:        @echo Linking $@
                    180:        $(QUIET)$(CXX) $(LDFLAGS) $(MT_LDFLAGS) -o $@ $(CON_OBJS) $(CON_LIBS) $(SMBLIB_LIBS) $(XPDEV-MT_LIBS)
                    181: 
                    182: # Baja Utility
                    183: $(BAJA): $(BAJA_OBJS)
                    184:        @echo Linking $@
                    185:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(BAJA_OBJS) $(SMBLIB_LIBS) $(XPDEV_LIBS)
                    186: 
                    187: # UnBaja Utility
                    188: $(UNBAJA): $(OBJODIR) $(EXEODIR) $(UNBAJA_OBJS)
                    189:        @echo Linking $@
                    190:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(UNBAJA_OBJS) $(XPDEV_LIBS) $(UTIL_LIBS)
                    191: 
                    192: # Node Utility
                    193: $(NODE): $(NODE_OBJS)
                    194:        @echo Linking $@
                    195:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(NODE_OBJS) $(XPDEV_LIBS)
                    196: 
                    197: # FIXSMB Utility
                    198: $(FIXSMB): $(FIXSMB_OBJS)
                    199:        @echo Linking $@
                    200:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(FIXSMB_OBJS) $(SMBLIB_LIBS) $(XPDEV_LIBS)
                    201: 
                    202: # CHKSMB Utility
                    203: $(CHKSMB): $(CHKSMB_OBJS)
                    204:        @echo Linking $@
                    205:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(CHKSMB_OBJS) $(SMBLIB_LIBS) $(XPDEV_LIBS)
                    206: 
                    207: # SMB Utility
                    208: $(SMBUTIL): $(SMBUTIL_OBJS)
                    209:        @echo Linking $@
                    210:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(SMBUTIL_OBJS) $(SMBLIB_LIBS) $(XPDEV_LIBS)
                    211: 
                    212: # SBBSecho (FidoNet Packet Tosser)
                    213: $(SBBSECHO): $(SBBSECHO_OBJS)
                    214:        @echo Linking $@
                    215:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(SBBSECHO_OBJS) $(SMBLIB_LIBS) $(XPDEV_LIBS)
                    216: 
                    217: # SBBSecho Configuration Program
                    218: $(ECHOCFG): $(ECHOCFG_OBJS)
                    219:        @echo Linking $@
                    220:        $(QUIET)$(CC) $(UTIL_LDFLAGS) $(MT_LDFLAGS) -o $@ $(ECHOCFG_OBJS) $(UIFC-MT_LDFLAGS) $(SMBLIB_LIBS) $(UIFC-MT_LIBS) $(CIOLIB-MT_LIBS) $(XPDEV-MT_LIBS)
                    221: 
                    222: # ADDFILES
                    223: $(ADDFILES): $(ADDFILES_OBJS)
                    224:        @echo Linking $@
                    225:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(ADDFILES_OBJS) $(XPDEV_LIBS)
                    226: 
                    227: # FILELIST
                    228: $(FILELIST): $(FILELIST_OBJS)
                    229:        @echo Linking $@
                    230:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(FILELIST_OBJS) $(XPDEV_LIBS)
                    231: 
                    232: # MAKEUSER
                    233: $(MAKEUSER): $(MAKEUSER_OBJS)
                    234:        @echo Linking $@
                    235:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(MAKEUSER_OBJS) $(XPDEV_LIBS)
                    236: 
                    237: # JSEXEC
                    238: $(JSEXEC): $(JSEXEC_OBJS) $(SBBS)
                    239:        @echo Linking $@
                    240:        $(QUIET)$(CXX) $(LDFLAGS) $(MT_LDFLAGS) -o $@ $(JSEXEC_OBJS) -lsbbs $(SMBLIB_LIBS) $(UIFC-MT_LIBS) $(CIOLIB-MT_LIBS) $(XPDEV-MT_LIBS)
                    241: 
                    242: # ANS2ASC
                    243: $(ANS2ASC): $(OBJODIR)/ans2asc.o
                    244:        @echo Linking $@
                    245:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(OBJODIR)/ans2asc.o
                    246: 
                    247: # ASC2ANS
                    248: $(ASC2ANS): $(OBJODIR)/asc2ans.o
                    249:        @echo Linking $@
                    250:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(OBJODIR)/asc2ans.o
                    251: 
                    252: # SEXYZ
                    253: $(SEXYZ): $(SEXYZ_OBJS)
                    254:        @echo Linking $@
                    255:        $(QUIET)$(CC) $(UTIL_LDFLAGS) $(MT_LDFLAGS) -o $@ $(SEXYZ_OBJS) $(SMBLIB_LIBS) $(XPDEV-MT_LIBS)
                    256: 
                    257: # QWKNODES
                    258: $(QWKNODES): $(QWKNODES_OBJS)
                    259:        @echo Linking $@
                    260:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(QWKNODES_OBJS) $(SMBLIB_LIBS) $(XPDEV_LIBS)
                    261: 
                    262: # SLOG
                    263: $(SLOG): $(SLOG_OBJS)
                    264:        @echo Linking $@
                    265:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(SLOG_OBJS) $(XPDEV_LIBS)
                    266: 
                    267: # ALLUSERS
                    268: $(ALLUSERS): $(ALLUSERS_OBJS)
                    269:        @echo Linking $@
                    270:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(ALLUSERS_OBJS) $(XPDEV_LIBS)
                    271: 
                    272: # DELFILES
                    273: $(DELFILES): $(DELFILES_OBJS)
                    274:        @echo Linking $@
                    275:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(DELFILES_OBJS) $(XPDEV_LIBS)
                    276: 
                    277: # DUPEFIND
                    278: $(DUPEFIND): $(DUPEFIND_OBJS)
                    279:        @echo Linking $@
                    280:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(DUPEFIND_OBJS) $(SMBLIB_LIBS) $(XPDEV_LIBS)
                    281: 
                    282: # SMBACTIV
                    283: $(SMBACTIV): $(SMBACTIV_OBJS)
                    284:        @echo Linking $@
                    285:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(SMBACTIV_OBJS) $(SMBLIB_LIBS) $(XPDEV_LIBS)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.