updated.
authorRyan C. Gordon <icculus@icculus.org>
Sat, 18 Nov 2000 07:10:27 +0000
changeset 3 467226c16871
parent 2 3a81231e7b41
child 4 d847a48278ee
updated.
CHANGELOG
Makefile
--- a/CHANGELOG	Sat Nov 18 06:33:48 2000 +0000
+++ b/CHANGELOG	Sat Nov 18 07:10:27 2000 +0000
@@ -1,21 +1,24 @@
+2000-11-18  Ryan C. Gordon   <icculus@lokigames.com>
 
+    * Stubbed DOSism in file2.pas.
+    * Hacked the FreePascal runtime library to convert DOS paths to Unix on
+      the fly. Have not checked it, yet.
+    * upgraded to FreePascal 1.1 CVS. Stuff won't build anymore. Complex AND
+      and OR statements cause misgenerated ASM code. Attempting to backport
+      the RTL changes to 1.0.2 ...
+    * Updated Makefile to be more sane. Compiles just programs (not units),
+      doesn't smartlink on debug builds, etc...
 
 2000-11-17  Ryan C. Gordon   <icculus@lokigames.com>
 
     * Initial work.
-
     * Wrote Makefile.
-
     * filenames -> lowercase, dos2unix'd them.
-
     * Stubbed offending DOSisms, like direct video writes and serial port i/o.
-
     * Commented out "uses overlay" commands.
-
     * Renamed newcommm.pas to newcom.pas ...
-
     * Fixed some other syntax stuff that doesn't fly under Free Pascal.
-
+    * Thing builds, has startup issues, since init.pas tries to use DOS paths.
 
 // end of CHANGELOG ...
 
--- a/Makefile	Sat Nov 18 06:33:48 2000 +0000
+++ b/Makefile	Sat Nov 18 07:10:27 2000 +0000
@@ -24,8 +24,21 @@
 #---------------------------------------------------------------------------
 # don't touch anything below this line.
 
-# This is the name of the produced binary. "bbs" should suffice.
+# This are the names of the produced binaries.
 MAINEXE=bbs
+MINITERMEXE=miniterm
+INITEXE=init
+TPAGEEXE=tpage
+IFLEXE=ifl
+FINDITEXE=findit
+T2TEXE=t2t
+OBLITEXE=oblit
+MTESTEXE=mtest
+BBEXE=bb
+CBBSEXE=cbbs
+MABSEXE=mabs
+COCONFIGEXE=coconfig
+SPDATEEXE=spdate
 
 ifeq ($(strip $(verbose)),true)
     PPC386FLAGS += -vwnh
@@ -44,6 +57,8 @@
     PPC386FLAGS += -Xs   # strip the binary.
     PPC386FLAGS += -O2   # Level 2 optimizations.
     PPC386FLAGS += -OG   # Optimize for speed, not size.
+    PPC386FLAGS += -XD   # Dynamic linkage.
+    PPC386FLAGS += -CX   # Smartlink the binary, removing unused code.
 
     ifeq ($(strip $(cpu)),386)
         PPC386FLAGS += -OP1
@@ -59,25 +74,25 @@
 endif
 
 # Borland TP7.0 compatibility flag.
+PPC386FLAGS += -B
+
+# Borland TP7.0 compatibility flag.
 PPC386FLAGS += -So
 
+# Allow LABEL and GOTO. STRIVE TO REMOVE THIS COMMAND LINE PARAMETER!
+PPC386FLAGS += -Sg
+
 # Support C-style macros.
 #PPC386FLAGS += -Sm
 
 # Assembly statements are Intel-like (instead of AT&T-like).
 PPC386FLAGS += -Rintel
 
-# Dynamic linkage.
-PPC386FLAGS += -XD
-
 # Output target Linux.  !!! FIXME: Want win32 compiles?
 PPC386FLAGS += -TLINUX
 
-# Smartlink the binary, removing unused code.
-PPC386FLAGS += -CX
-
 # Pipe output to assembler, rather than to temp file. This is a little faster.
-PPC386FLAGS += -P
+#PPC386FLAGS += -P
 
 # Write bins to this directory...
 PPC386FLAGS += -FE$(BUILDDIR)
@@ -85,19 +100,59 @@
 #---------------------------------------------------------------------------
 # Build rules...don't touch this, either.
 
-include sources
-
-OBJSx := $(SRCS:.pas=.o)
-OBJS := $(foreach feh,$(OBJSx),$(BUILDDIR)/$(feh))
+#include sources
+#OBJSx := $(SRCS:.pas=.o)
+#OBJS := $(foreach feh,$(OBJSx),$(BUILDDIR)/$(feh))
 
 $(BUILDDIR)/%.o : %.pas
 	$(PPC386) $(PPC386FLAGS) $<
 
-all: $(MAINEXE)
+all: $(BUILDDIR) $(MAINEXE) $(MINITERMEXE) $(INITEXE) $(TPAGEEXE) $(IFLEXE) \
+     $(FINDITEXE) $(T2TEXE) $(OBLITEXE) $(MTESTEXE) $(BBEXE) $(CBBSEXE) \
+     $(MABSEXE) $(COCONFIGEXE) $(SPDATEEXE)
 
 $(MAINEXE) : $(BUILDDIR) $(OBJS) bbs.pas
 	$(PPC386) $(PPC386FLAGS) bbs.pas
 
+$(MINITERMEXE) : $(BUILDDIR) $(OBJS) miniterm.pas
+	$(PPC386) $(PPC386FLAGS) miniterm.pas
+
+$(INITEXE) : $(BUILDDIR) $(OBJS) init.pas
+	$(PPC386) $(PPC386FLAGS) init.pas
+
+$(TPAGEEXE) : $(BUILDDIR) $(OBJS) tpage.pas
+	$(PPC386) $(PPC386FLAGS) tpage.pas
+
+$(IFLEXE) : $(BUILDDIR) $(OBJS) ifl.pas
+	$(PPC386) $(PPC386FLAGS) ifl.pas
+
+$(FINDITEXE) : $(BUILDDIR) $(OBJS) findit.pas
+	$(PPC386) $(PPC386FLAGS) findit.pas
+
+$(T2TEXE) : $(BUILDDIR) $(OBJS) t2t.pas
+	$(PPC386) $(PPC386FLAGS) t2t.pas
+
+$(OBLITEXE) : $(BUILDDIR) $(OBJS) t2t.pas
+	$(PPC386) $(PPC386FLAGS) t2t.pas
+
+$(MTESTEXE) : $(BUILDDIR) $(OBJS) mtest.pas
+	$(PPC386) $(PPC386FLAGS) mtest.pas
+
+$(BBEXE) : $(BUILDDIR) $(OBJS) bb.pas
+	$(PPC386) $(PPC386FLAGS) bb.pas
+
+$(CBBSEXE) : $(BUILDDIR) $(OBJS) cbbs.pas
+	$(PPC386) $(PPC386FLAGS) cbbs.pas
+
+$(MABSEXE) : $(BUILDDIR) $(OBJS) mabs.pas
+	$(PPC386) $(PPC386FLAGS) mabs.pas
+
+$(COCONFIGEXE) : $(BUILDDIR) $(OBJS) coconfig.pas
+	$(PPC386) $(PPC386FLAGS) coconfig.pas
+
+$(SPDATEEXE) : $(BUILDDIR) $(OBJS) spdate.pas
+	$(PPC386) $(PPC386FLAGS) spdate.pas
+
 $(BUILDDIR): $(cpu)
 	mkdir $(BUILDDIR)