|
|
1.1 root 1: # Makefile.bor
2:
3: #########################################################################
4: # Makefile for Synchronet BBS #
5: # For use with Borland C++ Builder 5 or Borland C++ 5.5 for Win32 #
6: # @format.tab-size 4 #
7: # #
8: # usage: make -f makefile.bor #
9: # #
10: # Optional build targets: dlls, utils, mono, all (default) #
11: #########################################################################
12:
13: # $Id: Makefile.bor,v 1.13 2000/12/01 22:21:50 rswindell Exp $
14:
15: # Macros
16: DEBUG = 1 # Comment out for release (non-debug) version
17: CC = bcc32
18: LD = ilink32
19: SLASH = \\
20: OFILE = obj
21: LIBFILE = .dll
22: EXEFILE = .exe
23: LIBODIR = bcc.win32.dll # Library output directory
24: EXEODIR = bcc.win32.exe # Executable output directory
25: CFLAGS = -M -g1
26: LFLAGS = -m -s -c -Tpd -Gi -I$(LIBODIR)
27: DELETE = echo y | del
28:
29: # Optional compile flags (disable banner, warnings and such)
30: CFLAGS = $(CFLAGS) -q -d -H -X- -w-csu -w-pch -w-ccc -w-rch -w-par
31:
32: # Debug or release build?
33: !ifdef DEBUG
34: CFLAGS = $(CFLAGS) -v -Od -D_DEBUG
35: LFLAGS = $(LFLAGS) -v
36: LIBODIR = $(LIBODIR).debug
37: EXEODIR = $(EXEODIR).debug
38: !else
39: LIBODIR = $(LIBODIR).release
40: EXEODIR = $(EXEODIR).release
41: !endif
42:
43: !include targets.mak # defines all targets
44: !include objects.mak # defines $(OBJS)
45: !include headers.mak # defines $(HEADERS)
46: !include sbbsdefs.mak # defines $(SBBSDEFS)
47:
48: SBBSLIB = $(LIBODIR)\sbbs.lib
49:
50: # Implicit C Compile Rule for SBBS.DLL
51: {.}.c.$(OFILE):
52: @echo Compiling (I) $< to $@ ...
53: $(CC) $(CFLAGS) -WD -WM -n$(LIBODIR) -c $(SBBSDEFS) $<
54:
55: # Implicit C++ Compile Rule for SBBS.DLL
56: {.}.cpp.$(OFILE):
57: @echo Compiling (I) $< to $@ ...
58: $(CC) $(CFLAGS) -WD -WM -n$(LIBODIR) -c $(SBBSDEFS) $<
59:
60: # Create output directories if they don't exist
61: $(LIBODIR):
62: if not exist $(LIBODIR) mkdir $(LIBODIR)
63: $(EXEODIR):
64: if not exist $(EXEODIR) mkdir $(EXEODIR)
65:
66: # Monolithic Synchronet executable Build Rule
67: $(SBBSMONO): sbbscon.c $(OBJS) $(LIBODIR)\ver.$(OFILE) $(LIBODIR)\ftpsrvr.$(OFILE) \
68: $(LIBODIR)\mailsrvr.$(OFILE) $(LIBODIR)\mxlookup.$(OFILE)
69: $(CC) $(CFLAGS) -WM -e$(SBBSMONO) $** $(LIBS)
70:
71: # SBBS DLL Link Rule
72: $(SBBS): $(OBJS) $(LIBODIR)\ver.$(OFILE)
73: @echo Linking $< ...
74: $(LD) $(LFLAGS) c0d32.obj $(OBJS) $(LIBODIR)\ver.$(OFILE), $*, $*, \
75: import32.lib cw32mt.lib ws2_32.lib
76:
77: # Mail Server DLL Link Rule
78: $(MAILSRVR): mailsrvr.c mxlookup.c crc32.c $(SBBSLIB)
79: @echo Compiling $** ...
80: $(CC) $(CFLAGS) -WD -WM -lGi -n$(LIBODIR) -DMAILSRVR_EXPORTS -DSMBDLL $**
81:
82: # FTP Server DLL Link Rule
83: $(FTPSRVR): ftpsrvr.c $(SBBSLIB)
84: @echo Compiling $** ...
85: $(CC) $(CFLAGS) -WD -WM -lGi -n$(LIBODIR) -DFTPSRVR_EXPORTS $**
86:
87: # Synchronet Console Build Rule
88: $(SBBSCON): sbbscon.c $(SBBSLIB)
89: $(CC) $(CFLAGS) -n$(EXEODIR) $**
90:
91: # Baja Utility
92: $(BAJA): baja.c ars.c crc32.c
93: @echo Compiling $** ...
94: $(CC) $(CFLAGS) -n$(EXEODIR) $**
95:
96: # Node Utility
97: $(NODE): node.c
98: @echo Compiling $** ...
99: $(CC) $(CFLAGS) -n$(EXEODIR) $**
100:
101: # FIXSMB Utility
102: $(FIXSMB): fixsmb.c smblib.c smbwrap.c
103: @echo Compiling $** ...
104: $(CC) $(CFLAGS) -n$(EXEODIR) $**
105:
106: # CHKSMB Utility
107: $(CHKSMB): chksmb.c smblib.c smbwrap.c
108: @echo Compiling $** ...
109: $(CC) $(CFLAGS) -n$(EXEODIR) $**
110:
111: # SMB Utility
112: $(SMBUTIL): smbutil.c smblib.c smbwrap.c smbtxt.c crc32.c lzh.c
113: @echo Compiling $** ...
114: $(CC) $(CFLAGS) -n$(EXEODIR) $**
115:
116: !include depends.mak # defines dependencies
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.