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