Skip to content
Snippets Groups Projects
Commit d758bb3c authored by rswindell's avatar rswindell
Browse files

Created new Make 'include file', targets.mak which lists all targets for all...

Created new Make 'include file', targets.mak which lists all targets for all and adds new 'clean' rule.
Makefile.gnu now builds utilities (fixsmb, chksmb, smbutil, and baja).
parent 50715dd3
No related branches found
No related tags found
No related merge requests found
...@@ -16,10 +16,13 @@ CC = bcc32 ...@@ -16,10 +16,13 @@ CC = bcc32
LD = ilink32 LD = ilink32
SLASH = \\ SLASH = \\
OFILE = obj OFILE = obj
LIBFILE = .dll
EXEFILE = .exe
LIBODIR = bcc.win32.dll # Library output directory LIBODIR = bcc.win32.dll # Library output directory
EXEODIR = bcc.win32.exe # Executable output directory EXEODIR = bcc.win32.exe # Executable output directory
CFLAGS = -M CFLAGS = -M
LFLAGS = -m -s -c -Tpd -Gi -I$(LIBODIR) LFLAGS = -m -s -c -Tpd -Gi -I$(LIBODIR)
DELETE = echo y | del
# Optional compile flags (disable banner, warnings and such) # Optional compile flags (disable banner, warnings and such)
CFLAGS = $(CFLAGS) -q -d -H -X- -w-csu -w-pch CFLAGS = $(CFLAGS) -q -d -H -X- -w-csu -w-pch
...@@ -35,22 +38,13 @@ LIBODIR = $(LIBODIR).release ...@@ -35,22 +38,13 @@ LIBODIR = $(LIBODIR).release
EXEODIR = $(EXEODIR).release EXEODIR = $(EXEODIR).release
!endif !endif
SBBS = $(LIBODIR)\sbbs.dll !include targets.mak # defines all targets
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 objects.mak # defines $(OBJS) !include objects.mak # defines $(OBJS)
!include headers.mak # defines $(HEADERS) !include headers.mak # defines $(HEADERS)
!include sbbsdefs.mak # defines $(SBBSDEFS) !include sbbsdefs.mak # defines $(SBBSDEFS)
SBBSLIB = $(LIBODIR)\sbbs.lib
# Implicit C Compile Rule for SBBS.DLL # Implicit C Compile Rule for SBBS.DLL
{.}.c.$(OFILE): {.}.c.$(OFILE):
@echo Compiling (I) $< to $@ ... @echo Compiling (I) $< to $@ ...
...@@ -68,20 +62,20 @@ $(EXEODIR): ...@@ -68,20 +62,20 @@ $(EXEODIR):
mkdir $(EXEODIR) mkdir $(EXEODIR)
# SBBS DLL Link Rule # SBBS DLL Link Rule
$(SBBS): $(OBJS) $(LIBODIR)\ver.$(OFILE) $(SBBS) $(SBBSLIB): $(OBJS) $(LIBODIR)\ver.$(OFILE)
@echo Linking $< ... @echo Linking $< ...
$(LD) $(LFLAGS) c0d32.obj $(OBJS) $(LIBODIR)\ver.$(OFILE), $*, $*, \ $(LD) $(LFLAGS) c0d32.obj $(OBJS) $(LIBODIR)\ver.$(OFILE), $*, $*, \
import32.lib cw32mt.lib ws2_32.lib import32.lib cw32mt.lib ws2_32.lib
# Mail Server DLL Link Rule # Mail Server DLL Link Rule
$(MAILSRVR): mailsrvr.c mxlookup.c $(MAILSRVR): mailsrvr.c mxlookup.c $(SBBSLIB)
@echo Compiling $** ... @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 # FTP Server DLL Link Rule
$(FTPSRVR): ftpsrvr.c $(FTPSRVR): ftpsrvr.c $(SBBSLIB)
@echo Compiling $** ... @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 Utility
$(BAJA): baja.c ars.c $(BAJA): baja.c ars.c
......
...@@ -20,22 +20,26 @@ OFILE = o ...@@ -20,22 +20,26 @@ OFILE = o
ifeq ($(os),win32) # Windows ifeq ($(os),win32) # Windows
LD = dllwrap LD = dllwrap
LFILE = dll LIBFILE = .dll
EXEFILE = .exe
LIBODIR := gcc.win32.dll LIBODIR := gcc.win32.dll
EXEODIR := gcc.win32.exe EXEODIR := gcc.win32.exe
LIBDIR := /gcc/i386-mingw32/lib LIBDIR := /gcc/i386-mingw32/lib
CFLAGS := -mno-cygwin CFLAGS := -mno-cygwin
LFLAGS := --target=i386-mingw32 -mno-cygwin LFLAGS := --target=i386-mingw32 -mno-cygwin
DELETE = echo y | del
else # Linux else # Linux
LD = ld LD = ld
LFILE = a LIBFILE = .a
EXEFILE =
LIBODIR := gcc.linux.lib LIBODIR := gcc.linux.lib
EXEODIR := gcc.linux.exe EXEODIR := gcc.linux.exe
LIBDIR := /usr/lib LIBDIR := /usr/lib
CFLAGS := CFLAGS :=
LFLAGS := LFLAGS :=
DELETE = rm -f -v
endif endif
...@@ -49,19 +53,12 @@ LIBODIR := $(LIBODIR).release ...@@ -49,19 +53,12 @@ LIBODIR := $(LIBODIR).release
EXEODIR := $(EXEODIR).release EXEODIR := $(EXEODIR).release
endif endif
SBBS = $(LIBODIR)/sbbs.$(LFILE) include targets.mak # defines all targets
FTPSRVR = $(LIBODIR)/ftpsrvr.$(LFILE)
MAILSRVR= $(LIBODIR)/mailsrvr.$(LFILE)
SBBSLIB = $(LIBODIR)/sbbs.a
ALL: $(LIBODIR) $(SBBS) $(FTPSRVR) $(MAILSRVR)
include objects.mak # defines $(OBJS) include objects.mak # defines $(OBJS)
include headers.mak # defines $(HEADERS) include headers.mak # defines $(HEADERS)
include sbbsdefs.mak # defines $(SBBSDEFS) include sbbsdefs.mak # defines $(SBBSDEFS)
SBBSLIB = $(LIBODIR)/sbbs.a
LIBS = $(LIBDIR)/libwsock32.a $(LIBDIR)/libwinmm.a LIBS = $(LIBDIR)/libwsock32.a $(LIBDIR)/libwinmm.a
...@@ -73,13 +70,17 @@ $(LIBODIR)/%.o : %.c ...@@ -73,13 +70,17 @@ $(LIBODIR)/%.o : %.c
$(LIBODIR)/%.o : %.cpp $(LIBODIR)/%.o : %.cpp
$(CC) $(CFLAGS) -c $(SBBSDEFS) $< -o $@ $(CC) $(CFLAGS) -c $(SBBSDEFS) $< -o $@
# Create output directory # Create output directories
$(LIBODIR): $(LIBODIR):
mkdir $(LIBODIR) mkdir $(LIBODIR)
$(EXEODIR):
mkdir $(EXEODIR)
# SBBS Link Rule # SBBS Link Rule
$(SBBS): $(OBJS) $(LIBODIR)/ver.o $(SBBS) $(SBBSLIB): $(OBJS) $(LIBODIR)/ver.o
$(LD) $(LFLAGS) -o $@ $^ $(LIBS) --output-lib $(SBBSLIB) $(LD) $(LFLAGS) -o $(SBBS) $^ $(LIBS) --output-lib $(SBBSLIB)
# FTP Server Link Rule # FTP Server Link Rule
$(FTPSRVR): $(LIBODIR)/ftpsrvr.o $(SBBSLIB) $(FTPSRVR): $(LIBODIR)/ftpsrvr.o $(SBBSLIB)
...@@ -99,4 +100,21 @@ $(LIBODIR)/mailsrvr.o: mailsrvr.c mailsrvr.h ...@@ -99,4 +100,21 @@ $(LIBODIR)/mailsrvr.o: mailsrvr.c mailsrvr.h
$(LIBODIR)/mxlookup.o: mxlookup.c $(LIBODIR)/mxlookup.o: mxlookup.c
$(CC) $(CFLAGS) -c -DMAILSRVR_EXPORTS $< -o $@ $(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 include depends.mak
\ No newline at end of file
# 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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment