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

First attempt to Linux/Unix compatibility. Not tested. To build for win32, use 'make os=win32'

parent 397f6800
No related branches found
No related tags found
No related merge requests found
...@@ -3,7 +3,10 @@ ...@@ -3,7 +3,10 @@
######################################################################### #########################################################################
# Makefile for Synchronet BBS # # Makefile for Synchronet BBS #
# For use with GNU make and GNU C Compiler # # For use with GNU make and GNU C Compiler #
# @format.tab-size 4 # # @format.tab-size 4, @format.use-tabs true #
# #
# Linux: make -f Makefile.gnu #
# Win32: make -f Makefile.gnu os=win32 #
######################################################################### #########################################################################
# $Id$ # $Id$
...@@ -11,14 +14,29 @@ ...@@ -11,14 +14,29 @@
# Macros # Macros
DEBUG = 1 # Comment out for release (non-debug) version DEBUG = 1 # Comment out for release (non-debug) version
CC = gcc CC = gcc
LD = dllwrap
SLASH = / SLASH = /
OFILE = o OFILE = o
ifeq ($(os),win32) # Windows
LD = dllwrap
LFILE = dll
ODIR := gcc.win32.dll ODIR := gcc.win32.dll
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
else # Linux
LD = ld
LFILE = a
ODIR := lib
LIBDIR := /usr/lib
CFLAGS :=
LFLAGS :=
endif
ifdef DEBUG ifdef DEBUG
CFLAGS := $(CFLAGS) -g -O0 -D_DEBUG CFLAGS := $(CFLAGS) -g -O0 -D_DEBUG
ODIR := $(ODIR).debug ODIR := $(ODIR).debug
...@@ -27,11 +45,11 @@ LFLAGS := $(LFLAGS) -S ...@@ -27,11 +45,11 @@ LFLAGS := $(LFLAGS) -S
ODIR := $(ODIR).release ODIR := $(ODIR).release
endif endif
SBBS = $(ODIR)/sbbs.dll SBBS = $(ODIR)/sbbs.$(LFILE)
FTPSRVR = $(ODIR)/ftpsrvr.dll FTPSRVR = $(ODIR)/ftpsrvr.$(LFILE)
MAILSRVR= $(ODIR)/mailsrvr.dll MAILSRVR= $(ODIR)/mailsrvr.$(LFILE)
SBBSLIB = $(ODIR)/sbbs.a SBBSLIB = $(ODIR)/sbbs.a
...@@ -43,11 +61,11 @@ include sbbsdefs.mak # defines $(SBBSDEFS) ...@@ -43,11 +61,11 @@ include sbbsdefs.mak # defines $(SBBSDEFS)
LIBS = $(LIBDIR)/libwsock32.a $(LIBDIR)/libwinmm.a LIBS = $(LIBDIR)/libwsock32.a $(LIBDIR)/libwinmm.a
# Implicit C Compile Rule for SBBS.DLL # Implicit C Compile Rule for SBBS
$(ODIR)/%.o : %.c $(ODIR)/%.o : %.c
$(CC) $(CFLAGS) -c $(SBBSDEFS) $< -o $@ $(CC) $(CFLAGS) -c $(SBBSDEFS) $< -o $@
# Implicit C++ Compile Rule for SBBS.DLL # Implicit C++ Compile Rule for SBBS
$(ODIR)/%.o : %.cpp $(ODIR)/%.o : %.cpp
$(CC) $(CFLAGS) -c $(SBBSDEFS) $< -o $@ $(CC) $(CFLAGS) -c $(SBBSDEFS) $< -o $@
...@@ -55,15 +73,15 @@ $(ODIR)/%.o : %.cpp ...@@ -55,15 +73,15 @@ $(ODIR)/%.o : %.cpp
$(ODIR): $(ODIR):
mkdir $(ODIR) mkdir $(ODIR)
# SBBS DLL Link Rule # SBBS Link Rule
$(SBBS): $(OBJS) $(ODIR)/ver.o $(SBBS): $(OBJS) $(ODIR)/ver.o
$(LD) $(LFLAGS) -o $@ $^ $(LIBS) --output-lib $(SBBSLIB) $(LD) $(LFLAGS) -o $@ $^ $(LIBS) --output-lib $(SBBSLIB)
# FTP Server DLL Link Rule # FTP Server Link Rule
$(FTPSRVR): $(ODIR)/ftpsrvr.o $(SBBSLIB) $(FTPSRVR): $(ODIR)/ftpsrvr.o $(SBBSLIB)
$(LD) $(LFLAGS) -o $@ $^ $(LIBS) --output-lib $(ODIR)/ftpsrvr.a $(LD) $(LFLAGS) -o $@ $^ $(LIBS) --output-lib $(ODIR)/ftpsrvr.a
# Mail Server DLL Link Rule # Mail Server Link Rule
$(MAILSRVR): $(ODIR)/mailsrvr.o $(ODIR)/mxlookup.o $(SBBSLIB) $(MAILSRVR): $(ODIR)/mailsrvr.o $(ODIR)/mxlookup.o $(SBBSLIB)
$(LD) $(LFLAGS) -o $@ $^ $(LIBS) --output-lib $(ODIR)/mailsrvr.a $(LD) $(LFLAGS) -o $@ $^ $(LIBS) --output-lib $(ODIR)/mailsrvr.a
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment