home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 September / PCO_0998.ISO / filesbbs / dos / sbbs_src.exe / SBBS / MAKEFILE < prev    next >
Encoding:
Text File  |  1997-05-18  |  6.7 KB  |  224 lines

  1. #########################################################################
  2. # Makefile for Synchronet BBS                         #
  3. # For use with Borland c++ for DOS/Win32 or Borland C++ for OS/2     #
  4. # Tabstop=8                                      #
  5. # usage: make           (under DOS/Windows to build DOS\SBBS.EXE)    #
  6. #        make           (under OS/2 to build OS2\SBBS4OS2.EXE)        #
  7. #        make -DW32    (under Windows 95/NT to build W32\SBBS4W32.EXE) #
  8. #########################################################################
  9.  
  10. # Macros
  11. CC    = \bc31\bin\bcc
  12. LD    = \bc31\bin\tlink
  13. INCLUDE = \bc31\include;smb;rio;..\spawno
  14. LIB     = \bc31\lib
  15. DEFINES = -DSBBS 
  16.  
  17. !if $d(__OS2__)
  18. CC    = c:\bcos2\bin\bcc
  19. LD    = c:\bcos2\bin\tlink
  20. INCLUDE = c:\bcos2\include;smb;rio
  21. LIB    = c:\bcos2\lib
  22. OS    = OS2
  23. CFLAGS    = -N -d -C -sm -I$(INCLUDE) $(DEFINES) -n$(OS) -w-pro
  24. LFLAGS    = -m -s -c -Toe -ap -S:18000
  25. #16k still caused stack overflows?
  26. #-w-srf?
  27. MAIN    = $(OS)\sbbs4os2.exe
  28.  
  29. !elif $d(W32)
  30.  
  31. OS    = W32 
  32. CC      = \bc45\bin\bcc32
  33. LD      = \bc45\bin\tlink32
  34. INCLUDE = \bc45\include;smb;rio
  35. LIB    = \bc45\lib
  36. CFLAGS    = -N -d -C -H -tWC -tWM -I$(INCLUDE) $(DEFINES) -n$(OS) -w-pro
  37. LFLAGS  = -m -n -c -Tpe -ax -S:18000
  38. MAIN    = $(OS)\sbbs4w32.exe
  39.  
  40. !else
  41. OS      = DOS
  42. MODEL    = l
  43. CFLAGS    = -N -d -C -Y -O1 -m$(MODEL) -I$(INCLUDE) $(DEFINES) -n$(OS) -w-pro
  44. LFLAGS    = -l -m -n -c 
  45. MAIN    = $(OS)\sbbs.exe
  46. !endif
  47.  
  48.  
  49. !if $d(__OS2__)
  50. OBJS    = OS2\riolib.obj
  51. !elif $d(W32)
  52. OBJS    = W32\riolib.obj
  53. !else
  54. OBJS    = DOS\rciol.obj ..\mswait\DOS\mswait$(MODEL).obj
  55. !endif
  56. OBJS    = $(OBJS) $(OS)\etext.obj $(OS)\scfgvars.obj $(OS)\vars.obj \
  57.       $(OS)\xtrn.obj 
  58.  
  59. OVLOBJS = $(OS)\ars.obj\
  60.       $(OS)\chk_ar.obj\
  61.       $(OS)\comio.obj \
  62.       $(OS)\con_in.obj \
  63.       $(OS)\con_out.obj \
  64.           $(OS)\con_mid.obj \
  65.           $(OS)\con_hi.obj \
  66.       $(OS)\atcodes.obj \
  67.       $(OS)\data.obj \
  68.       $(OS)\data_ovl.obj\
  69.       $(OS)\getuser.obj\
  70.       $(OS)\userrec.obj\
  71.       $(OS)\getnode.obj\
  72.       $(OS)\putnode.obj\
  73.       $(OS)\exec.obj \
  74.       $(OS)\execmisc.obj \
  75.       $(OS)\execfunc.obj \
  76.       $(OS)\execmsg.obj \
  77.       $(OS)\execfile.obj \
  78.       $(OS)\file.obj $(OS)\file_ovl.obj \ 
  79.       $(OS)\chat.obj $(OS)\fido.obj \
  80.       $(OS)\initdata.obj \ 
  81.       $(OS)\listfile.obj \
  82.       $(OS)\viewfile.obj \
  83.       $(OS)\logio.obj \
  84.       $(OS)\login.obj \
  85.       $(OS)\logon.obj \
  86.       $(OS)\logout.obj \
  87.       $(OS)\newuser.obj \
  88.       $(OS)\mail.obj \  
  89.        $(OS)\main.obj $(OS)\main_ovl.obj $(OS)\main_sec.obj \
  90.       $(OS)\main_wfc.obj \
  91.           $(OS)\msg1.obj \
  92.       $(OS)\msg2.obj\
  93.       $(OS)\putmsg.obj\
  94.       $(OS)\postmsg.obj\
  95.       $(OS)\email.obj\
  96.       $(OS)\netmail.obj\
  97.       $(OS)\bulkmail.obj\
  98.           $(OS)\misc.obj\
  99.       $(OS)\qwk.obj\
  100.       $(OS)\qwktomsg.obj\
  101.       $(OS)\msgtoqwk.obj\
  102.       $(OS)\pack_qwk.obj\
  103.       $(OS)\pack_rep.obj\
  104.       $(OS)\un_qwk.obj\
  105.       $(OS)\un_rep.obj\
  106.       $(OS)\readmsgs.obj\
  107.       $(OS)\scfglib1.obj\
  108.       $(OS)\scfglib2.obj\
  109.       $(OS)\str.obj $(OS)\text_sec.obj $(OS)\useredit.obj\
  110.       $(OS)\xfer_lo.obj $(OS)\xfer_mid.obj $(OS)\xfer_hi.obj\
  111.       $(OS)\xtrn_ovl.obj $(OS)\xfer_sec.obj $(OS)\lzh.obj\
  112.       $(OS)\smblib.obj
  113.  
  114. HEADERS = sbbs.h sbbsdefs.h gen_defs.h nodedefs.h text.h vars.c scfgvars.c \
  115.       smb\smblib.h smb\smbdefs.h
  116.  
  117. # Implicit C Compile Rule
  118. {.}.c.obj:
  119.     @echo Compiling (I) $< to $@ ...
  120.     $(CC) $(CFLAGS) -c $<
  121.  
  122. # Main EXE Link Rule
  123. $(MAIN): $(OBJS) $(OVLOBJS) $(OS)\ver.obj
  124.         @echo Linking $< ...
  125. !if $d(__OS2__)
  126.     $(LD) $(LFLAGS) @&&+
  127. $(OBJS) $(LIB)\c02.obj $(OS)\ver.obj $(OVLOBJS)
  128. +, $*, $*, $(LIB)\os2.lib $(LIB)\c2mt.lib
  129. !elif $d(W32)
  130.     $(LD) $(LFLAGS) @&&+
  131. $(LIB)\c0X32.OBJ $(OBJS) $(OS)\ver.obj $(OVLOBJS)
  132. +, $*, $*, $(LIB)\import32.lib $(LIB)\cw32mt.lib
  133. !else
  134.     $(LD) $(LFLAGS) @&&+
  135. $(LIB)\c0$(MODEL) $(OBJS) $(OS)\ver.obj /o $(OVLOBJS)
  136. +, $*, $*, ..\spawno\spawnl $(LIB)\overlay $(LIB)\c$(MODEL) \
  137.     $(LIB)\math$(MODEL) $(LIB)\emu
  138. !endif
  139.  
  140. $(OS)\smblib.obj: smb\smblib.c smb\smblib.h smb\smbdefs.h
  141.     @echo Compiling SMBLIB ...
  142.     $(CC) $(CFLAGS) -c -DSMB_GETMSGTXT smb\smblib.c
  143.  
  144. $(OS)\lzh.obj: smb\lzh.c smb\lzh.h 
  145.     @echo Compiling LZH ...
  146.     $(CC) $(CFLAGS) -c -DLZH_DYNAMIC_BUF smb\lzh.c
  147.  
  148. $(OS)\riolib.obj: rio\riolib.c rio\riolib.h rio\riodefs.h
  149.     @echo Compiling RIOLIB ...
  150.     $(CC) $(CFLAGS) -c rio\riolib.c
  151.  
  152. etext.h: etext.dat
  153.     @echo Creating new encrypted text (ETEXT) Code and Header files...
  154.     genetext
  155.             
  156. # All .obj modules
  157. $(OS)\ars.obj:        $(HEADERS) ars_defs.h
  158. $(OS)\chk_ar.obj:    $(HEADERS) ars_defs.h
  159. $(OS)\atcodes.obj:    $(HEADERS) cmdshell.h
  160. $(OS)\chat.obj:            $(HEADERS)
  161. $(OS)\comio.obj:           $(HEADERS)
  162. $(OS)\con_in.obj:          $(HEADERS)
  163. $(OS)\con_out.obj:         $(HEADERS)
  164. $(OS)\con_mid.obj:         $(HEADERS)
  165. $(OS)\con_hi.obj:          $(HEADERS)
  166. $(OS)\data.obj:            $(HEADERS)
  167. $(OS)\data_ovl.obj:        $(HEADERS)
  168. $(OS)\exec.obj:        $(HEADERS) cmdshell.h
  169. $(OS)\execmisc.obj:    $(HEADERS) cmdshell.h
  170. $(OS)\execfunc.obj:    $(HEADERS) cmdshell.h
  171. $(OS)\execmsg.obj:    $(HEADERS) cmdshell.h
  172. $(OS)\execfile.obj:    $(HEADERS) cmdshell.h
  173. $(OS)\etext.obj:           etext.h
  174. $(OS)\fido.obj:            $(HEADERS)
  175. $(OS)\file.obj:            $(HEADERS)
  176. $(OS)\file_ovl.obj:        $(HEADERS)
  177. $(OS)\initdata.obj:        $(HEADERS)
  178. $(OS)\listfile.obj:    $(HEADERS)
  179. $(OS)\viewfile.obj:    $(HEADERS)
  180. $(OS)\logio.obj:           $(HEADERS)
  181. $(OS)\login.obj:    $(HEADERS)
  182. $(OS)\logon.obj:        $(HEADERS) cmdshell.h
  183. $(OS)\logout.obj:    $(HEADERS)
  184. $(OS)\main.obj:            $(HEADERS) cmdshell.h
  185. $(OS)\mail.obj:               $(HEADERS)
  186. $(OS)\main_ovl.obj:        $(HEADERS) etext.h
  187. $(OS)\main_sec.obj:        $(HEADERS)
  188. $(OS)\main_wfc.obj:    $(HEADERS) qwk.h etext.h
  189. $(OS)\misc.obj:            $(HEADERS) ars_defs.h smb\crc32.h
  190. $(OS)\msg1.obj:               $(HEADERS)
  191. $(OS)\msg2.obj:         $(HEADERS)
  192. $(OS)\newuser.obj:    $(HEADERS)
  193. $(OS)\putmsg.obj:    $(HEADERS)
  194. $(OS)\email.obj:    $(HEADERS) cmdshell.h
  195. $(OS)\postmsg.obj:         $(HEADERS)
  196. $(OS)\netmail.obj:         $(HEADERS) qwk.h
  197. $(OS)\bulkmail.obj:        $(HEADERS)
  198. $(OS)\qwk.obj:        $(HEADERS) qwk.h post.h etext.h
  199. $(OS)\qwktomsg.obj:    $(HEADERS) qwk.h
  200. $(OS)\msgtoqwk.obj:    $(HEADERS) qwk.h
  201. $(OS)\pack_qwk.obj:    $(HEADERS) qwk.h post.h
  202. $(OS)\pack_rep.obj:    $(HEADERS) qwk.h post.h
  203. $(OS)\un_qwk.obj:    $(HEADERS) qwk.h
  204. $(OS)\un_rep.obj:    $(HEADERS) qwk.h
  205. $(OS)\readmsgs.obj:    $(HEADERS) post.h
  206. $(OS)\scfglib1.obj:        $(HEADERS) scfglib.h
  207. $(OS)\scfglib2.obj:        $(HEADERS) scfglib.h
  208. $(OS)\scfgvars.obj:        $(HEADERS)
  209. $(OS)\str.obj:             $(HEADERS)
  210. $(OS)\getnode.obj:    $(HEADERS)
  211. $(OS)\putnode.obj:    $(HEADERS)
  212. $(OS)\text_sec.obj:    $(HEADERS)
  213. $(OS)\getuser.obj:    $(HEADERS)
  214. $(OS)\userrec.obj:    $(HEADERS)
  215. $(OS)\useredit.obj:        $(HEADERS)
  216. $(OS)\vars.obj:            $(HEADERS)
  217. $(OS)\ver.obj:        $(OBJS) $(OVLOBJS) $(HEADERS)
  218. $(OS)\xfer_lo.obj:         $(HEADERS)
  219. $(OS)\xfer_mid.obj:        $(HEADERS)
  220. $(OS)\xfer_hi.obj:         $(HEADERS)
  221. $(OS)\xfer_sec.obj:    $(HEADERS)
  222. $(OS)\xtrn.obj:            $(HEADERS) cmdshell.h
  223. $(OS)\xtrn_ovl.obj:        $(HEADERS)
  224.