diff --git a/src/sbbs3/Makefile.bor b/src/sbbs3/Makefile.bor index fd4ca323b7d6c40e32d640c5aeff495d5e37b74a..d0c16688b25e13d138a5b36d5a92b42518a2ec91 100644 --- a/src/sbbs3/Makefile.bor +++ b/src/sbbs3/Makefile.bor @@ -16,10 +16,13 @@ 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 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 @@ -35,22 +38,13 @@ LIBODIR = $(LIBODIR).release EXEODIR = $(EXEODIR).release !endif -SBBS = $(LIBODIR)\sbbs.dll -FTPSRVR = $(LIBODIR)\ftpsrvr.dll -MAILSRVR= $(LIBODIR)\mailsrvr.dll -BAJA = $(EXEODIR)\baja.exe -FIXSMB = $(EXEODIR)\fixsmb.exe -CHKSMB = $(EXEODIR)\chksmb.exe -SMBUTIL = $(EXEODIR)\smbutil.exe - -ALL: $(LIBODIR) $(EXEODIR) \ - $(SBBS) $(FTPSRVR) $(MAILSRVR) \ - $(FIXSMB) $(CHKSMB) $(SMBUTIL) $(BAJA) - +!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 $@ ... @@ -68,20 +62,20 @@ $(EXEODIR): mkdir $(EXEODIR) # SBBS DLL Link Rule -$(SBBS): $(OBJS) $(LIBODIR)\ver.$(OFILE) +$(SBBS) $(SBBSLIB): $(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 +$(MAILSRVR): mailsrvr.c mxlookup.c $(SBBSLIB) @echo Compiling $** ... - $(CC) $(CFLAGS) -WD -WM -lGi -n$(LIBODIR) -DMAILSRVR_EXPORTS $** $(LIBODIR)\sbbs.lib + $(CC) $(CFLAGS) -WD -WM -lGi -n$(LIBODIR) -DMAILSRVR_EXPORTS -DSMBDLL $** # FTP Server DLL Link Rule -$(FTPSRVR): ftpsrvr.c +$(FTPSRVR): ftpsrvr.c $(SBBSLIB) @echo Compiling $** ... - $(CC) $(CFLAGS) -WD -WM -lGi -n$(LIBODIR) -DFTPSRVR_EXPORTS $** $(LIBODIR)\sbbs.lib + $(CC) $(CFLAGS) -WD -WM -lGi -n$(LIBODIR) -DFTPSRVR_EXPORTS $** # Baja Utility $(BAJA): baja.c ars.c diff --git a/src/sbbs3/Makefile.gnu b/src/sbbs3/Makefile.gnu index 507bd54f6afda0f7ed78dd647280944ff9a11516..a8318367b02f6a301996a46bbe9e67442887082a 100644 --- a/src/sbbs3/Makefile.gnu +++ b/src/sbbs3/Makefile.gnu @@ -20,22 +20,26 @@ OFILE = o ifeq ($(os),win32) # Windows LD = dllwrap -LFILE = dll +LIBFILE = .dll +EXEFILE = .exe LIBODIR := gcc.win32.dll EXEODIR := gcc.win32.exe LIBDIR := /gcc/i386-mingw32/lib CFLAGS := -mno-cygwin LFLAGS := --target=i386-mingw32 -mno-cygwin +DELETE = echo y | del else # Linux LD = ld -LFILE = a +LIBFILE = .a +EXEFILE = LIBODIR := gcc.linux.lib EXEODIR := gcc.linux.exe LIBDIR := /usr/lib CFLAGS := LFLAGS := +DELETE = rm -f -v endif @@ -49,19 +53,12 @@ LIBODIR := $(LIBODIR).release EXEODIR := $(EXEODIR).release endif -SBBS = $(LIBODIR)/sbbs.$(LFILE) - -FTPSRVR = $(LIBODIR)/ftpsrvr.$(LFILE) - -MAILSRVR= $(LIBODIR)/mailsrvr.$(LFILE) - -SBBSLIB = $(LIBODIR)/sbbs.a - -ALL: $(LIBODIR) $(SBBS) $(FTPSRVR) $(MAILSRVR) - +include targets.mak # defines all targets include objects.mak # defines $(OBJS) include headers.mak # defines $(HEADERS) include sbbsdefs.mak # defines $(SBBSDEFS) + +SBBSLIB = $(LIBODIR)/sbbs.a LIBS = $(LIBDIR)/libwsock32.a $(LIBDIR)/libwinmm.a @@ -73,13 +70,17 @@ $(LIBODIR)/%.o : %.c $(LIBODIR)/%.o : %.cpp $(CC) $(CFLAGS) -c $(SBBSDEFS) $< -o $@ -# Create output directory +# Create output directories $(LIBODIR): mkdir $(LIBODIR) +$(EXEODIR): + mkdir $(EXEODIR) + + # SBBS Link Rule -$(SBBS): $(OBJS) $(LIBODIR)/ver.o - $(LD) $(LFLAGS) -o $@ $^ $(LIBS) --output-lib $(SBBSLIB) +$(SBBS) $(SBBSLIB): $(OBJS) $(LIBODIR)/ver.o + $(LD) $(LFLAGS) -o $(SBBS) $^ $(LIBS) --output-lib $(SBBSLIB) # FTP Server Link Rule $(FTPSRVR): $(LIBODIR)/ftpsrvr.o $(SBBSLIB) @@ -99,4 +100,21 @@ $(LIBODIR)/mailsrvr.o: mailsrvr.c mailsrvr.h $(LIBODIR)/mxlookup.o: mxlookup.c $(CC) $(CFLAGS) -c -DMAILSRVR_EXPORTS $< -o $@ +# Baja Utility +$(BAJA): baja.c ars.c + $(CC) $(CFLAGS) -o $@ $^ + +# FIXSMB Utility +$(FIXSMB): fixsmb.c smblib.c smbwrap.c + $(CC) $(CFLAGS) -o $@ $^ + +# CHKSMB Utility +$(CHKSMB): chksmb.c smblib.c smbwrap.c + $(CC) $(CFLAGS) -o $@ $^ + +# SMB Utility +$(SMBUTIL): smbutil.c smblib.c smbwrap.c smbtxt.c lzh.c + $(CC) $(CFLAGS) -o $@ $^ + + include depends.mak \ No newline at end of file diff --git a/src/sbbs3/targets.mak b/src/sbbs3/targets.mak new file mode 100644 index 0000000000000000000000000000000000000000..d5a951a74d8e6532e1ecc6956622190e111abfae --- /dev/null +++ b/src/sbbs3/targets.mak @@ -0,0 +1,23 @@ +# targets.mak + +# Make 'include file' defining targets for Synchronet project + +# $Id$ + +# LIBODIR, EXEODIR, SLASH, LIBFILE, EXEFILE, and DELETE must be pre-defined + +SBBS = $(LIBODIR)$(SLASH)sbbs$(LIBFILE) +FTPSRVR = $(LIBODIR)$(SLASH)ftpsrvr$(LIBFILE) +MAILSRVR= $(LIBODIR)$(SLASH)mailsrvr$(LIBFILE) +BAJA = $(EXEODIR)$(SLASH)baja$(EXEFILE) +FIXSMB = $(EXEODIR)$(SLASH)fixsmb$(EXEFILE) +CHKSMB = $(EXEODIR)$(SLASH)chksmb$(EXEFILE) +SMBUTIL = $(EXEODIR)$(SLASH)smbutil$(EXEFILE) + +all: $(LIBODIR) $(EXEODIR) \ + $(SBBS) $(FTPSRVR) $(MAILSRVR) \ + $(FIXSMB) $(CHKSMB) $(SMBUTIL) $(BAJA) + +clean: + $(DELETE) $(LIBODIR) + $(DELETE) $(EXEODIR) \ No newline at end of file