Annotation of sbbs/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.167 2004/12/12 09:25:08 deuce Exp $
                     15: 
                     16: SRC_ROOT       =       ..
                     17: include $(SRC_ROOT)/build/Common.gmake
                     18: 
                     19: UTIL_LDFLAGS   +=      $(SMBLIB_LDFLAGS) $(UIFC-MT_LDFLAGS) $(CIOLIB-MT_LDFLAGS) $(XPDEV_LDFLAGS)
                     20: UTIL_LIBS      +=      $(SMBLIB_LIBS)
                     21: 
                     22: ifndef bcc
                     23:  LDFLAGS       +=      -lm
                     24:  ifneq ($(os),sunos)
                     25:   LDFLAGS      +=      -lutil
                     26:  endif
                     27: endif
                     28: 
                     29: ifeq ($(os),sunos)    # Solaris
                     30:  LDFLAGS += -lsocket -lnsl -lrt
                     31: endif
                     32: 
                     33: # So far, only QNX has sem_timedwait()
                     34: ifeq ($(os),qnx)
                     35:  LDFLAGS += -lsocket
                     36: endif
                     37: 
                     38: ifdef PREFIX
                     39:  CFLAGS += -DPREFIX=$(PREFIX)
                     40: endif
                     41: 
                     42: ifdef USE_DOSEMU
                     43:  CFLAGS += -DUSE_DOSEMU
                     44: endif
                     45: 
                     46: ifdef DONT_BLAME_SYNCHRONET
                     47:  CFLAGS += -DDONT_BLAME_SYNCHRONET
                     48: endif
                     49: 
                     50: # JS and NSPR setup stuff...
                     51: CFLAGS += -DJAVASCRIPT
                     52: ifdef JSINCLUDE
                     53:  CFLAGS += -I$(JSINCLUDE)
                     54: else
                     55:  CFLAGS += -I$(SRC_ROOT)$(DIRSEP)..$(DIRSEP)include$(DIRSEP)mozilla$(DIRSEP)js
                     56: endif
                     57: ifdef NSPRINCLUDE
                     58:  CFLAGS += -I$(NSPRINCLUDE)
                     59: else
                     60:  # Use local NSPR first...
                     61:  CFLAGS += -I/usr/local/include -I$(SRC_ROOT)$(DIRSEP)..$(DIRSEP)include$(DIRSEP)mozilla$(DIRSEP)nspr
                     62: endif
                     63: ifndef JSLIBDIR
                     64:  JSLIBDIR := $(SRC_ROOT)$(DIRSEP)..$(DIRSEP)lib$(DIRSEP)mozilla$(DIRSEP)js$(DIRSEP)$(machine).$(BUILD)
                     65: endif
                     66: ifndef JSLIB
                     67:  JSLIB :=      js
                     68: endif
                     69: ifndef NSPRDIR
                     70:  NSPRDIR := $(SRC_ROOT)$(DIRSEP)..$(DIRSEP)lib$(DIRSEP)mozilla$(DIRSEP)nspr$(DIRSEP)$(machine).$(BUILD)
                     71: endif
                     72: JS_LDFLAGS += -L$(JSLIBDIR) -l$(JSLIB)
                     73: #The following is needed for nspr support on Linux
                     74: ifeq ($(os),linux)
                     75:  JS_LDFLAGS    +=      -ldl
                     76: endif
                     77: JS_LDFLAGS     +=      -L/usr/local/lib -L$(NSPRDIR) -lnspr4
                     78: 
                     79: CFLAGS +=      $(JS_CFLAGS)
                     80: LDFLAGS        +=      $(JS_LDFLAGS)
                     81: 
                     82: include sbbsdefs.mk
                     83: MT_CFLAGS      +=      $(SBBSDEFS)
                     84: 
                     85: # Set up LD_RUN_PATH for run-time locating of the .so files
                     86: PWD    :=      $(shell pwd)
                     87: LD_RUN_PATH    :=      .:$(PWD)/$(LIBODIR):$(PWD)/$(JSLIBDIR):$(PWD)/$(NSPRDIR)
                     88: export LD_RUN_PATH
                     89: 
                     90: CON_LIBS       = -lsbbs -lftpsrvr -lwebsrvr -lmailsrvr -lservices
                     91: SHLIBOPTS      :=      -shared
                     92: ifeq ($(os),darwin)
                     93:  MKSHLIB               :=      libtool -dynamic -framework System -lcc_dynamic
                     94:  MKSHPPLIB             :=      libtool -dynamic -framework System -lcc_dynamic -lstdc++
                     95:  SHLIBOPTS     :=      
                     96: else
                     97:  ifeq ($(os),sunos)
                     98:   MKSHLIB              :=      /usr/ccs/bin/ld -G
                     99:   MKSHPPLIB            :=      /usr/ccs/bin/ld -G -L/usr/local/lib -lstdc++
                    100:   SHLIBOPTS    :=      
                    101:  else
                    102:   MKSHLIB              :=      $(CC)
                    103:   MKSHPPLIB            :=      $(CXX)
                    104:  endif
                    105: endif
                    106: 
                    107: CFLAGS +=      $(UIFC-MT_CFLAGS) $(XPDEV-MT_CFLAGS) $(SMBLIB_CFLAGS) $(CIOLIB-MT_CFLAGS)
                    108: LDFLAGS +=     $(UIFC-MT_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(SMBLIB_LDFLAGS) $(CIOLIB-MT_LDFLAGS)
                    109: 
                    110: # Monolithic Synchronet executable Build Rule
                    111: $(SBBSMONO): $(MONO_OBJS) $(OBJS)
                    112:        @echo Linking $@
                    113:        $(QUIET)$(CXX) -o $@ $(LDFLAGS) $(MT_LDFLAGS) $(MONO_OBJS) $(OBJS) $(SMBLIB_LIBS) $(XPDEV-MT_LIBS)
                    114: 
                    115: # Synchronet BBS library Link Rule
                    116: $(SBBS): $(OBJS) $(LIBS)
                    117:        @echo Linking $@
                    118:        $(QUIET)$(MKSHPPLIB) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(SHLIBOPTS)
                    119: 
                    120: # FTP Server Link Rule
                    121: $(FTPSRVR): $(MTOBJODIR)/ftpsrvr.o
                    122:        @echo Linking $@
                    123:        $(QUIET)$(MKSHLIB) $(LDFLAGS) $(MTOBJODIR)/ftpsrvr.o $(SHLIBOPTS) -o $@
                    124: 
                    125: # Mail Server Link Rule
                    126: $(MAILSRVR): $(MAIL_OBJS)
                    127:        @echo Linking $@
                    128:        $(QUIET)$(MKSHLIB) $(LDFLAGS) $(MAIL_OBJS) $(SHLIBOPTS) -o $@
                    129: 
                    130: # Mail Server Link Rule
                    131: $(WEBSRVR): $(WEB_OBJS)
                    132:        @echo Linking $@
                    133:        $(QUIET)$(MKSHLIB) $(LDFLAGS) $(WEB_OBJS) $(SHLIBOPTS) -o $@
                    134: 
                    135: # Services Link Rule
                    136: $(SERVICES): $(SERVICE_OBJS)
                    137:        @echo Linking $@
                    138:        $(QUIET)$(MKSHLIB) $(LDFLAGS) $(SERVICE_OBJS) $(SHLIBOPTS) -o $@
                    139: 
                    140: # Synchronet Console Build Rule
                    141: $(SBBSCON): $(CON_OBJS) $(SBBS) $(FTPSRVR) $(WEBSRVR) $(MAILSRVR) $(SERVICES)
                    142:        @echo Linking $@
                    143:        $(QUIET)$(CC) $(LDFLAGS) $(MT_LDFLAGS) -o $@ $(CON_OBJS) $(CON_LIBS) $(SMBLIB_LIBS) $(XPDEV-MT_LIBS)
                    144: 
                    145: # Baja Utility
                    146: $(BAJA): $(BAJA_OBJS)
                    147:        @echo Linking $@
                    148:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(BAJA_OBJS) $(SMBLIB_LIBS) $(XPDEV_LIBS)
                    149: 
                    150: # Node Utility
                    151: $(NODE): $(NODE_OBJS)
                    152:        @echo Linking $@
                    153:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(NODE_OBJS) $(XPDEV_LIBS)
                    154: 
                    155: # FIXSMB Utility
                    156: $(FIXSMB): $(FIXSMB_OBJS)
                    157:        @echo Linking $@
                    158:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(FIXSMB_OBJS) $(SMBLIB_LIBS) $(XPDEV_LIBS)
                    159: 
                    160: # CHKSMB Utility
                    161: $(CHKSMB): $(CHKSMB_OBJS)
                    162:        @echo Linking $@
                    163:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(CHKSMB_OBJS) $(SMBLIB_LIBS) $(XPDEV_LIBS)
                    164: 
                    165: # SMB Utility
                    166: $(SMBUTIL): $(SMBUTIL_OBJS)
                    167:        @echo Linking $@
                    168:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(SMBUTIL_OBJS) $(SMBLIB_LIBS) $(XPDEV_LIBS)
                    169: 
                    170: # SBBSecho (FidoNet Packet Tosser)
                    171: $(SBBSECHO): $(SBBSECHO_OBJS)
                    172:        @echo Linking $@
                    173:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(SBBSECHO_OBJS) $(SMBLIB_LIBS) $(XPDEV_LIBS)
                    174: 
                    175: # SBBSecho Configuration Program
                    176: $(ECHOCFG): $(ECHOCFG_OBJS)
                    177:        @echo Linking $@
                    178:        $(QUIET)$(CC) $(UTIL_LDFLAGS) $(MT_LDFLAGS) -o $@ $(ECHOCFG_OBJS) $(UIFC-MT_LDFLAGS) $(SMBLIB_LIBS) $(UIFC-MT_LIBS) $(CIOLIB-MT_LIBS) $(XPDEV-MT_LIBS)
                    179: 
                    180: # ADDFILES
                    181: $(ADDFILES): $(ADDFILES_OBJS)
                    182:        @echo Linking $@
                    183:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(ADDFILES_OBJS) $(XPDEV_LIBS)
                    184: 
                    185: # FILELIST
                    186: $(FILELIST): $(FILELIST_OBJS)
                    187:        @echo Linking $@
                    188:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(FILELIST_OBJS) $(XPDEV_LIBS)
                    189: 
                    190: # MAKEUSER
                    191: $(MAKEUSER): $(MAKEUSER_OBJS)
                    192:        @echo Linking $@
                    193:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(MAKEUSER_OBJS) $(XPDEV_LIBS)
                    194: 
                    195: # JSEXEC
                    196: $(JSEXEC): $(JSEXEC_OBJS) $(SBBS)
                    197:        @echo Linking $@
                    198:        $(QUIET)$(CXX) $(LDFLAGS) $(MT_LDFLAGS) -o $@ $(JSEXEC_OBJS) -lsbbs $(SMBLIB_LIBS) $(XPDEV-MT_LIBS)
                    199: 
                    200: # ANS2ASC
                    201: $(ANS2ASC): $(OBJODIR)/ans2asc.o
                    202:        @echo Linking $@
                    203:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(OBJODIR)/ans2asc.o
                    204: 
                    205: # ASC2ANS
                    206: $(ASC2ANS): $(OBJODIR)/asc2ans.o
                    207:        @echo Linking $@
                    208:        $(QUIET)$(CC) $(UTIL_LDFLAGS) -o $@ $(OBJODIR)/asc2ans.o

unix.superglobalmegacorp.com

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