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

Updates from Deuce (builds intermediate libraries?).

parent a320c4e6
No related branches found
No related tags found
No related merge requests found
# Makefile.gnu
#########################################################################
# Makefile for Synchronet BBS #
# Makefile for SCFG #
# For use with GNU make and GNU C Compiler #
# @format.tab-size 4, @format.use-tabs true #
# #
......@@ -16,6 +16,7 @@
# Macros
# DEBUG = 1 # Comment out for release (non-debug) version
USE_DIALOG = 1 # Comment out for stdio (uifcx) version
CC = gcc
SLASH = /
OFILE = o
......@@ -27,6 +28,8 @@ LIBFILE = .dll
EXEFILE = .exe
LIBODIR := gcc.win32.dll
EXEODIR := gcc.win32.exe
SBBSLIBODIR := gcc.win32.sbbsdll
UIFCLIBODIR := gcc.win32.uifcdll
LIBDIR := /gcc/i386-mingw32/lib
CFLAGS := -mno-cygwin
LFLAGS := --target=i386-mingw32 -mno-cygwin
......@@ -43,9 +46,15 @@ EXEFILE =
ifeq ($(os),freebsd) # FreeBSD
LIBODIR := gcc.freebsd.lib
EXEODIR := gcc.freebsd.exe
SBBSLIBODIR := gcc.freebsd.sbbslib
UIFCLIBODIR := gcc.freebsd.uifclib
MAKE := gmake
else # Linux
LIBODIR := gcc.linux.lib
EXEODIR := gcc.linux.exe
SBBSLIBODIR := gcc.linux.sbbslib
UIFCLIBODIR := gcc.linux.uifclib
MAKE := make
endif
LIBDIR := /usr/lib
......@@ -53,14 +62,13 @@ LFLAGS :=
DELETE = rm -f -v
OUTLIB = -o
CFLAGS := -I../../uifc -I/usr/local/include -I../
CFLAGS := -I../../uifc -I/usr/local/include -I../ -D_THREAD_SAFE
ifeq ($(os),freebsd) # FreeBSD
CFLAGS := $(CFLAGS) -DUSE_DIALOG
LIBS := -L/usr/local/lib -ldialog
USE_DIALOG = YES
else # Linux / Other UNIX
LIBS := -L/usr/local/lib
ifdef USE_DIALOG
LIBS := $(LIBS) -L../../libdialog -ldialog -lcurses
CFLAGS := $(CFLAGS) -I../../libdialog -DUSE_DIALOG
endif
endif # Unix (end)
......@@ -72,10 +80,14 @@ ifdef DEBUG
CFLAGS := $(CFLAGS) -g -O0 -D_DEBUG
LIBODIR := $(LIBODIR).debug
EXEODIR := $(EXEODIR).debug
SBBSLIBODIR := $(SBBSLIBODIR).debug
UIFCLIBODIR := $(UIFCLIBODIR).debug
else # RELEASE
LFLAGS := $(LFLAGS) -S
LIBODIR := $(LIBODIR).release
EXEODIR := $(EXEODIR).release
SBBSLIBODIR := $(SBBSLIBODIR).release
UIFCLIBODIR := $(UIFCLIBODIR).release
endif
include targets.mak # defines all targets
......@@ -83,25 +95,28 @@ include objects.mak # defines $(OBJS)
include headers.mak # defines $(HEADERS)
SBBSLIB = $(LIBODIR)/sbbs.a
SBBSDEFS =
SBBSDEFs =
# Implicit C Compile Rule for SBBS
# Implicit C Compile Rule for SCFG
$(LIBODIR)/%.o : %.c
$(CC) $(CFLAGS) -c $(SBBSDEFS) $< -o $@
# Implicit C++ Compile Rule for SBBS
# Implicit C++ Compile Rule for SCFG
$(LIBODIR)/%.o : %.cpp
$(CC) $(CFLAGS) -c $(SBBSDEFS) $< -o $@
# uifc Rules
../../uifc/uifcx.$(OFILE):
$(CC) $(CFLAGS) -c $(SBBSDEFS) ../../uifc/uifcx.c -o ../../uifc/uifcx.$(OFILE)
# Implicit C Compile Rule for SBBS Objects
$(SBBSLIBODIR)/%.o : ../%.c
$(CC) $(CFLAGS) -c $(SBBSDEFS) $< -o $@
../../uifc/uifcd.c:
# Implicit C++ Compile Rule for SBBS Objects
$(SBBSLIBODIR)/%.o : ../%.cpp
$(CC) $(CFLAGS) -c $(SBBSDEFS) $< -o $@
../../uifc/uifcd.$(OFILE):
$(CC) $(CFLAGS) -c $(SBBSDEFS) ../../uifc/uifcd.c -o ../../uifc/uifcd.$(OFILE)
# uifc Rules
$(UIFCLIBODIR)/%.o : ../../uifc/%.c
$(CC) $(CFLAGS) -c $(SBBSDEFS) $< -o $@
# Create output directories
$(LIBODIR):
......@@ -110,6 +125,12 @@ $(LIBODIR):
$(EXEODIR):
mkdir $(EXEODIR)
$(SBBSLIBODIR):
mkdir $(SBBSLIBODIR)
$(UIFCLIBODIR):
mkdir $(UIFCLIBODIR)
# Monolithic Synchronet executable Build Rule
$(SCFG): $(OBJS)
$(CC) -o $(SCFG) $^ $(LIBS)
......
......@@ -6,15 +6,15 @@
# LIBODIR, EXEODIR, SLASH, and OFILE must be pre-defined
$(LIBODIR)$(SLASH)scfg.$(OFILE): $(HEADERS)
$(LIBODIR)$(SLASH)scfgxtrn.$(OFILE): $(HEADERS)
$(LIBODIR)$(SLASH)scfgxtrn.$(OFILE): $(HEADERS)
$(LIBODIR)$(SLASH)scfgmsg.$(OFILE): $(HEADERS)
$(LIBODIR)$(SLASH)scfgnet.$(OFILE): $(HEADERS)
$(LIBODIR)$(SLASH)scfgnode.$(OFILE): $(HEADERS)
$(LIBODIR)$(SLASH)scfgnode.$(OFILE): $(HEADERS)
$(LIBODIR)$(SLASH)scfgsub.$(OFILE): $(HEADERS)
$(LIBODIR)$(SLASH)scfgsys.$(OFILE): $(HEADERS)
$(LIBODIR)$(SLASH)scfgxfr1.$(OFILE): $(HEADERS)
$(LIBODIR)$(SLASH)scfgxfr2.$(OFILE): $(HEADERS)
$(LIBODIR)$(SLASH)scfgchat.$(OFILE): $(HEADERS)
$(LIBODIR)$(SLASH)scfgx.$(OFILE): $(HEADERS) $(OBJS)
$(LIBODIR)$(SLASH)scfgxfr1.$(OFILE): $(HEADERS)
$(LIBODIR)$(SLASH)scfgxfr2.$(OFILE): $(HEADERS)
$(LIBODIR)$(SLASH)scfgchat.$(OFILE): $(HEADERS)
$(LIBODIR)$(SLASH)scfg.$(OFILE): $(HEADERS) $(OBJS)
$(LIBODIR)$(SLASH)scfg: $(HEADERS) $(OBJS) $(LIBODIR)$(SLASH)scfg.$(OFILE)
......@@ -5,6 +5,6 @@
# $Id$
HEADERS = scfgx.h ars_defs.h sbbs.h sbbswrap.h scfgdefs.h smbdefs.h userdat.h\
gen_defs.h sbbsdefs.h scfglib.h smblib.h
HEADERS = scfg.h ../ars_defs.h ../sbbs.h ../sbbswrap.h ../scfgdefs.h ../smbdefs.h ../userdat.h\
../gen_defs.h ../sbbsdefs.h ../scfglib.h ../smblib.h
......@@ -4,7 +4,7 @@
# $Id$
# LIBODIR, SLASH, and OFILE must be pre-defined
# LIBODIR, SBBSLIBODIR, SLASH, and OFILE must be pre-defined
OBJS = $(LIBODIR)$(SLASH)scfg.$(OFILE)\
......@@ -17,20 +17,20 @@ OBJS = $(LIBODIR)$(SLASH)scfg.$(OFILE)\
$(LIBODIR)$(SLASH)scfgxfr1.$(OFILE)\
$(LIBODIR)$(SLASH)scfgxfr2.$(OFILE)\
$(LIBODIR)$(SLASH)scfgchat.$(OFILE)\
..$(SLASH)$(LIBODIR)$(SLASH)scfgsave.$(OFILE)\
..$(SLASH)$(LIBODIR)$(SLASH)scfglib1.$(OFILE)\
..$(SLASH)$(LIBODIR)$(SLASH)smblib.$(OFILE)\
..$(SLASH)$(LIBODIR)$(SLASH)scfglib2.$(OFILE)\
..$(SLASH)$(LIBODIR)$(SLASH)smbwrap.$(OFILE)\
..$(SLASH)$(LIBODIR)$(SLASH)ars.$(OFILE)\
..$(SLASH)$(LIBODIR)$(SLASH)load_cfg.$(OFILE)\
..$(SLASH)$(LIBODIR)$(SLASH)misc.$(OFILE)\
..$(SLASH)$(LIBODIR)$(SLASH)crc32.$(OFILE)\
..$(SLASH)$(LIBODIR)$(SLASH)userdat.$(OFILE)\
..$(SLASH)$(LIBODIR)$(SLASH)date_str.$(OFILE)
$(SBBSLIBODIR)$(SLASH)scfgsave.$(OFILE)\
$(SBBSLIBODIR)$(SLASH)scfglib1.$(OFILE)\
$(SBBSLIBODIR)$(SLASH)smblib.$(OFILE)\
$(SBBSLIBODIR)$(SLASH)scfglib2.$(OFILE)\
$(SBBSLIBODIR)$(SLASH)smbwrap.$(OFILE)\
$(SBBSLIBODIR)$(SLASH)ars.$(OFILE)\
$(SBBSLIBODIR)$(SLASH)load_cfg.$(OFILE)\
$(SBBSLIBODIR)$(SLASH)misc.$(OFILE)\
$(SBBSLIBODIR)$(SLASH)crc32.$(OFILE)\
$(SBBSLIBODIR)$(SLASH)userdat.$(OFILE)\
$(SBBSLIBODIR)$(SLASH)date_str.$(OFILE)\
$(SBBSLIBODIR)$(SLASH)wrappers.$(OFILE)\
$(UIFCLIBODIR)$(SLASH)uifcx.$(OFILE)
ifdef USE_DIALOG
OBJS := $(OBJS) ../../uifc/uifcd.$(OFILE)
else
OBJS := $(OBJS) ../../uifc/uifcx.$(OFILE)
OBJS := $(OBJS) $(UIFCLIBODIR)$(SLASH)uifcd.$(OFILE)
endif
......@@ -6,13 +6,15 @@
# LIBODIR, EXEODIR, SLASH, LIBFILE, EXEFILE, and DELETE must be pre-defined
SCFG = $(EXEODIR)$(SLASH)scfgx$(EXEFILE)
SCFGOBJ = $(OBJODIR)$(SLASH)scfgx$(OBJFILE)
SCFG = $(EXEODIR)$(SLASH)scfg$(EXEFILE)
SCFGOBJ = $(OBJODIR)$(SLASH)scfg$(OBJFILE)
all: $(LIBODIR) $(EXEODIR) \
all: $(LIBODIR) $(SBBSLIBODIR) $(UIFCLIBODIR) $(EXEODIR) \
$(OBJS)\
$(SCFG)
clean:
$(DELETE) $(LIBODIR)/*
$(DELETE) $(EXEODIR)/*
$(DELETE) $(SBBSLIBODIR)/*
$(DELETE) $(UIFCLIBODIR)/*
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment