vmake ported

Former-commit-id: 776ccc8b46
This commit is contained in:
Norayr Chilingarian 2013-10-31 22:51:42 +04:00
parent d9065fea6d
commit 7854a25a61
3 changed files with 42 additions and 6 deletions

View file

@ -9,7 +9,7 @@ RELEASE = 1.0
INCLUDEPATH = -Isrc/lib/system/$(CCOMP)/$(TARCH) INCLUDEPATH = -Isrc/lib/system/$(CCOMP)/$(TARCH)
SETPATH = CFLAGS=$(INCLUDEPATH) PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/system:src/lib/system/$(CCOMP):src/lib/system/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(CCOMP):src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(CCOMP):src/lib/ooc:src/lib/ooc/$(CCOMP):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(CCOMP):src/voc/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/coco:src/test SETPATH = CFLAGS=$(INCLUDEPATH) PATH=.:/bin:/usr/bin MODULES=.:src/lib:src/lib/v4:src/lib/system:src/lib/system/$(CCOMP):src/lib/system/$(CCOMP)/$(TARCH):src/lib/ulm:src/lib/ulm/$(CCOMP):src/lib/ulm/$(TARCH):src/lib/ooc2:src/lib/ooc2/$(CCOMP):src/lib/ooc:src/lib/ooc/$(CCOMP):src/lib/pow:src/lib/misc:src/lib/s3:src/voc:src/voc/$(CCOMP):src/voc/$(CCOMP)/$(TARCH):src/tools/ocat:src/tools/browser:src/tools/vocparam:src/tools/vmake:src/tools/coco:src/test
VOC = voc VOC = voc
VOCSTATIC0 = $(SETPATH) ./vocstatic.$(TOS).$(CCOMP).$(TARCH) VOCSTATIC0 = $(SETPATH) ./vocstatic.$(TOS).$(CCOMP).$(TARCH)
@ -87,6 +87,8 @@ stage4:
$(VOCSTATIC0) -smPS voc.Mod $(VOCSTATIC0) -smPS voc.Mod
$(VOCSTATIC0) -smPS BrowserCmd.Mod $(VOCSTATIC0) -smPS BrowserCmd.Mod
$(VOCSTATIC0) -smPS OCatCmd.Mod $(VOCSTATIC0) -smPS OCatCmd.Mod
$(VOCSTATIC0) -sPS compatIn.Mod
$(VOCSTATIC0) -smPS vmake.Mod
#this is to build the compiler from C sources. #this is to build the compiler from C sources.
#this is a way to create a bootstrap binary. #this is a way to create a bootstrap binary.
@ -107,7 +109,9 @@ stage5:
$(CL) OCatCmd.c -o ocat \ $(CL) OCatCmd.c -o ocat \
SYSTEM.o Args.o Console.o Modules.o Unix.o oocOakStrings.o architecture.o version.o Kernel.o Files.o Reals.o CmdlnTexts.o SYSTEM.o Args.o Console.o Modules.o Unix.o oocOakStrings.o architecture.o version.o Kernel.o Files.o Reals.o CmdlnTexts.o
$(CC) compatIn.c
$(CL) vmake.c -o vmake SYSTEM.o Args.o compatIn.o CmdlnTexts.o Console.o Files.o Reals.o Modules.o Kernel.o Unix.o oocOakStrings.o version.o architecture.o
# build all library files # build all library files
@ -246,6 +250,7 @@ install:
cp voc $(PREFIX)/bin/ cp voc $(PREFIX)/bin/
cp showdef $(PREFIX)/bin/ cp showdef $(PREFIX)/bin/
cp ocat $(PREFIX)/bin/ cp ocat $(PREFIX)/bin/
cp vmake $(PREFIX)/bin/
cp -a src $(PREFIX)/ cp -a src $(PREFIX)/
test -d $(PREFIX)/lib/voc | mkdir -p $(PREFIX)/lib/voc test -d $(PREFIX)/lib/voc | mkdir -p $(PREFIX)/lib/voc

27
src/lib/v4/compatIn.Mod Normal file
View file

@ -0,0 +1,27 @@
MODULE compatIn;
(* module created to compile Make utility from Trianus v4 system with less changes in original file ; -- noch *)
IMPORT Args;
VAR Done* : BOOLEAN;
argnum : INTEGER;
PROCEDURE Open*;
BEGIN
argnum := 0;
Done := FALSE;
END Open;
PROCEDURE Name*(VAR name : ARRAY OF CHAR);
BEGIN
INC(argnum);
IF argnum < Args.argc THEN
Args.Get(argnum, name);
Done := TRUE
ELSE
Done := FALSE
END
END Name;
BEGIN
Open();
END compatIn.

View file

@ -8,9 +8,10 @@ Make.Order {filename} ~
modules are inspected and the modules are sorted accordingly. The sorted list of file names modules are inspected and the modules are sorted accordingly. The sorted list of file names
is written to the standard output. is written to the standard output.
-----------------------------------------------------------------------*) -----------------------------------------------------------------------*)
(* taken from trianus system source ; -- noch *)
MODULE Make; (*HM 94-06-22 / *) MODULE vmake; (*HM 94-06-22 / *)
IMPORT Texts, In, Out; IMPORT Texts := CmdlnTexts, In := compatIn, Out := Console;
TYPE TYPE
ModuleName = ARRAY 32 OF CHAR; ModuleName = ARRAY 32 OF CHAR;
@ -90,7 +91,7 @@ BEGIN
IF prev = NIL THEN list := m.next ELSE prev.next := m.next END ; IF prev = NIL THEN list := m.next ELSE prev.next := m.next END ;
imp := m.imports; WHILE imp # NIL DO DEC(imp.mod.ref); imp := imp.next END ; imp := m.imports; WHILE imp # NIL DO DEC(imp.mod.ref); imp := imp.next END ;
Print(list); Print(list);
Out.String(m.name); Out.String("/s"); Out.Ln Out.String(m.name); (*Out.String(" -s");*) Out.Ln
END END
END Print; END Print;
@ -103,7 +104,10 @@ BEGIN
Print(list) Print(list)
END Order; END Order;
END Make. BEGIN
Order
END vmake.
Make.Order Make.Order
POPB.Mod POPB.Mod