From e491d994d3564d0b67c726ae86c73d94f8d2a355 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Mon, 28 Jan 2002 00:31:00 +0000 Subject: [PATCH] Updates from Deuce (builds intermediate libraries?). --- src/sbbs3/scfg/Makefile.gnu | 53 ++++++++++++++++++++++++++----------- src/sbbs3/scfg/depends.mak | 14 +++++----- src/sbbs3/scfg/headers.mak | 4 +-- src/sbbs3/scfg/objects.mak | 30 ++++++++++----------- src/sbbs3/scfg/targets.mak | 8 +++--- 5 files changed, 66 insertions(+), 43 deletions(-) diff --git a/src/sbbs3/scfg/Makefile.gnu b/src/sbbs3/scfg/Makefile.gnu index 00374ef565..55049671a8 100644 --- a/src/sbbs3/scfg/Makefile.gnu +++ b/src/sbbs3/scfg/Makefile.gnu @@ -1,7 +1,7 @@ # 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) diff --git a/src/sbbs3/scfg/depends.mak b/src/sbbs3/scfg/depends.mak index e7d460e6f9..28b059c215 100644 --- a/src/sbbs3/scfg/depends.mak +++ b/src/sbbs3/scfg/depends.mak @@ -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) diff --git a/src/sbbs3/scfg/headers.mak b/src/sbbs3/scfg/headers.mak index 14b486e11e..ade6fab8d6 100644 --- a/src/sbbs3/scfg/headers.mak +++ b/src/sbbs3/scfg/headers.mak @@ -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 diff --git a/src/sbbs3/scfg/objects.mak b/src/sbbs3/scfg/objects.mak index 61708d3e0a..7c2c2e2497 100644 --- a/src/sbbs3/scfg/objects.mak +++ b/src/sbbs3/scfg/objects.mak @@ -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 diff --git a/src/sbbs3/scfg/targets.mak b/src/sbbs3/scfg/targets.mak index 823f556f25..2c8f0ebd4e 100644 --- a/src/sbbs3/scfg/targets.mak +++ b/src/sbbs3/scfg/targets.mak @@ -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)/* -- GitLab