Annotation of sbbs/src/sbbs3/gnumakefile, revision 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.