File:  [Synchronet] / sbbs / sbbs3 / makefile.bor
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 16:39:34 2018 UTC (8 years, 3 months ago) by root
Branches: digitaldynamics, MAIN
CVS tags: v3_00c, HEAD
3.00c Win32

# Makefile.bor

#########################################################################
# Makefile for Synchronet BBS 											#
# For use with Borland C++ Builder 5 or Borland C++ 5.5 for Win32       #
# @format.tab-size 4													#
#																		#
# usage: make -f makefile.bor											#
#																		#
# Optional build targets: dlls, utils, mono, all (default)				#
#########################################################################

# $Id: makefile.bor,v 1.1.1.1 2018/04/24 16:39:34 root Exp $

# Macros
DEBUG	=	1				# Comment out for release (non-debug) version
CC		=	bcc32
LD		=	ilink32
SLASH	=	\\
OFILE	=	obj
LIBFILE	=	.dll
EXEFILE	=	.exe
LIBODIR	=	bcc.win32.dll	# Library output directory
EXEODIR =	bcc.win32.exe	# Executable output directory
CFLAGS	=	-M -g1
LFLAGS  =	-m -s -c -Tpd -Gi -I$(LIBODIR)
DELETE	=	echo y | del 

# Optional compile flags (disable banner, warnings and such)
CFLAGS	=	$(CFLAGS) -q -d -H -X- -w-csu -w-pch -w-ccc -w-rch -w-par

# Debug or release build?
!ifdef DEBUG
CFLAGS	=	$(CFLAGS) -v -Od -D_DEBUG 
LFLAGS	=	$(LFLAGS) -v
LIBODIR	=	$(LIBODIR).debug
EXEODIR	=	$(EXEODIR).debug
!else
LIBODIR	=	$(LIBODIR).release
EXEODIR	=	$(EXEODIR).release
!endif

!include targets.mak	# defines all targets
!include objects.mak	# defines $(OBJS)
!include headers.mak	# defines $(HEADERS)
!include sbbsdefs.mak	# defines $(SBBSDEFS)

SBBSLIB	=	$(LIBODIR)\sbbs.lib

# Implicit C Compile Rule for SBBS.DLL
{.}.c.$(OFILE):
	@echo Compiling (I) $< to $@ ...
	$(CC) $(CFLAGS) -WD -WM -n$(LIBODIR) -c $(SBBSDEFS) $<

# Implicit C++ Compile Rule for SBBS.DLL
{.}.cpp.$(OFILE):
	@echo Compiling (I) $< to $@ ...
	$(CC) $(CFLAGS) -WD -WM -n$(LIBODIR) -c $(SBBSDEFS) $<

# Create output directories if they don't exist
$(LIBODIR):
	if not exist $(LIBODIR) mkdir $(LIBODIR)
$(EXEODIR):
	if not exist $(EXEODIR) mkdir $(EXEODIR)

# Monolithic Synchronet executable Build Rule
$(SBBSMONO): sbbscon.c $(OBJS) $(LIBODIR)\ver.$(OFILE) $(LIBODIR)\ftpsrvr.$(OFILE) \
	$(LIBODIR)\mailsrvr.$(OFILE) $(LIBODIR)\mxlookup.$(OFILE)
	$(CC) $(CFLAGS) -WM -e$(SBBSMONO) $** $(LIBS)

# SBBS DLL Link Rule
$(SBBS): $(OBJS) $(LIBODIR)\ver.$(OFILE)
    @echo Linking $< ...
	$(LD) $(LFLAGS) c0d32.obj $(OBJS) $(LIBODIR)\ver.$(OFILE), $*, $*, \
		import32.lib cw32mt.lib ws2_32.lib

# Mail Server DLL Link Rule
$(MAILSRVR): mailsrvr.c mxlookup.c crc32.c $(SBBSLIB)
    @echo Compiling $** ...
	$(CC) $(CFLAGS) -WD -WM -lGi -n$(LIBODIR) -DMAILSRVR_EXPORTS -DSMBDLL $**

# FTP Server DLL Link Rule
$(FTPSRVR): ftpsrvr.c $(SBBSLIB)
    @echo Compiling $** ...
	$(CC) $(CFLAGS) -WD -WM -lGi -n$(LIBODIR) -DFTPSRVR_EXPORTS $**

# Synchronet Console Build Rule
$(SBBSCON): sbbscon.c $(SBBSLIB)
	$(CC) $(CFLAGS) -n$(EXEODIR) $**

# Baja Utility
$(BAJA): baja.c ars.c crc32.c
	@echo Compiling $** ...
	$(CC) $(CFLAGS) -n$(EXEODIR) $** 

# Node Utility
$(NODE): node.c 
	@echo Compiling $** ...
	$(CC) $(CFLAGS) -n$(EXEODIR) $** 

# FIXSMB Utility
$(FIXSMB): fixsmb.c smblib.c smbwrap.c
	@echo Compiling $** ...
	$(CC) $(CFLAGS) -n$(EXEODIR) $** 

# CHKSMB Utility
$(CHKSMB): chksmb.c smblib.c smbwrap.c
	@echo Compiling $** ...
	$(CC) $(CFLAGS) -n$(EXEODIR) $** 

# SMB Utility
$(SMBUTIL): smbutil.c smblib.c smbwrap.c smbtxt.c crc32.c lzh.c
	@echo Compiling $** ...
	$(CC) $(CFLAGS) -n$(EXEODIR) $** 

!include depends.mak	# defines dependencies

unix.superglobalmegacorp.com

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