head     0.7;
access   ;
symbols  ;
locks    ; strict;
comment  @# @;


0.7
date     87.12.30.15.19.29;  author Perrine;  state Stab;
branches 0.7.1.1;
next     0.6;

0.6
date     87.12.18.17.32.30;  author Makey;  state Stab;
branches ;
next     0.5;

0.5
date     87.10.28.16.38.33;  author Perrine;  state Stab;
branches ;
next     0.4;

0.4
date     87.07.20.17.06.44;  author Makey;  state Stab;
branches 0.4.1.1;
next     0.3;

0.3
date     87.06.24.17.23.42;  author Makey;  state Stab;
branches ;
next     0.2;

0.2
date     87.05.21.16.09.02;  author Makey;  state Stab;
branches ;
next     0.1;

0.1
date     87.05.12.15.00.29;  author Makey;  state Stab;
branches ;
next     0.0;

0.0
date     87.04.14.15.43.22;  author Makey;  state Exp;
branches 0.0.1.1;
next     ;

0.0.1.1
date     87.04.14.15.45.59;  author Makey;  state Exp;
branches ;
next     0.0.1.2;

0.0.1.2
date     87.04.21.15.31.24;  author Makey;  state Exp;
branches ;
next     ;

0.4.1.1
date     87.07.30.12.52.31;  author Makey;  state Exp;
branches ;
next     ;

0.7.1.1
date     88.01.04.13.58.47;  author Makey;  state Exp;
branches ;
next     ;


desc
@KSOS-32 Kernel compilation shell script
@


0.7
log
@Changed as needed to support the DMF32 async terminal multiplexor.
Most of the changes were confined to the IOT subsystem and the
IODUNIBUS and IODDMF32 modules.
This version satisfies Milestone 15 -- demonstrate partial KSOS-32
Kernel (DMF32 terminal driver) -- of the KSOS migration to the VAX.

@
text
@#!/bin/csh
unset time
set mppflags = "-DPROF"
set m2cflags = "-T"
set filename = ""
foreach arg ($*)
	if ( "$arg" =~ -[DU]* ) then
		set mppflags = "$mppflags $arg"
	else if ( "$arg" =~ -* ) then
		set m2cflags = "$m2cflags $arg"
	else
		set filename = $arg
	endif
end
rm -f $filename.i
onintr cleanup
~ksos/tools/mpp $mppflags $filename > M2Cx.$$
onintr -
mv $filename $filename.M2C.$$
mv M2Cx.$$ $filename
onintr
if { run.m2c $m2cflags $filename } then
	mv $filename.M2C.$$ $filename
else
	onintr -
	mv $filename $filename.i
	mv $filename.M2C.$$ $filename
	exit 1
endif
exit 0

cleanup:
	rm M2Cx.$$
	exit 2
@


0.7.1.1
log
@Deleted the default -DPROF argument to mpp.
Changed to assume that mpp can be found in the user's path.
@
text
@d3 1
a3 1
set mppflags = ""
d17 1
a17 1
mpp $mppflags $filename > M2Cx.$$
@


0.6
log
@Changed as needed to support the RM05 disk drive.  The IOE and IOF
subsystems were changed as needed to make them work.
This version satisfies Milestone 13 -- demonstrate partial KSOS-32
Kernel (RM05 disk driver) -- of the KSOS migration to the VAX.
@
text
@@


0.5
log
@Changed as needed to support 23 of the 38 Kernel calls.  Still to be
done are calls that require disk I/O.  The I/O calls themselves are
supported, but the only driver done is for the console terminal.
This version satisfies Milestone 12 -- demonstrate partial KSOS-32
Kernel (additional Kernel calls) -- of the KSOS migration to the VAX.
@
text
@@


0.4
log
@Changed as needed to handle 3 different Kernel calls: Khalt, Knap,
and KgetProcessStatus.  These respectively demonstrate Kernel calls
with 0 arguments, read-only arguments, and read/write arguments.
This version satisfies Milestone 11 -- demonstrate minimal KSOS-32
Kernel (support Kernel call trap) -- of the KSOS migration to the VAX.
@
text
@d7 1
a7 1
	if ( "$arg" =~ -D* ) then
d16 1
d18 1
d21 1
d25 1
d30 5
@


0.4.1.1
log
@Changed to allow passing -U switches to the Modula preprocessor.
Added signal handling.
@
text
@d7 1
a7 1
	if ( "$arg" =~ -[DU]* ) then
a15 1
onintr cleanup
a16 1
onintr -
a18 1
onintr
a21 1
	onintr -
a25 5
exit 0

cleanup:
	rm M2Cx.$$
	exit 2
@


0.3
log
@Changed as needed to build a process context for the initial process
and start executing it.
This version satisfies Milestone 10 -- demonstrate minimal KSOS-32
Kernel (set up initial process) -- of the KSOS migration to the VAX.
@
text
@@


0.2
log
@Changed as needed to turn on the clock and to handle interrupts,
exceptions, faults, and traps.
This version satisfies Milestone 9 -- demonstrate minimal KSOS-32
Kernel (clock and interrupts) -- of the KSOS migration to the VAX.
@
text
@@


0.1
log
@Changed as needed to produce a kernel that will boot and run through
all of the module initialization sections.
This version satisfies Milestone 8 -- demonstrate minimal KSOS-32
Kernel (table initialization) -- of the KSOS migration to the VAX.
@
text
@@


0.0
log
@This shell script should be used to compile KSOS-32 Kernel Modula-2
source files that need to be run through the Modula Preprocessor.
This version #defines just about everything there is.
@
text
@d3 18
a20 6
rm -f $1.[ci] >& /dev/null
~ksos/tools/mpp -DPROF -DDEBUG1 -DDEBUG2 -DPROFILE -DTRACE $1 > $1.i
mv $1 $1.c
mv $1.i $1
if { run.m2c -T $1 } then
	mv $1.c $1
d22 2
a23 2
	mv $1 $1.i
	mv $1.c $1
@


0.0.1.1
log
@Changed so only PROF is #defined.
@
text
@d4 1
a4 1
~ksos/tools/mpp -DPROF $1 > $1.i
@


0.0.1.2
log
@Changed to pass -D switches to mpp and other switches to m2c.
Also changed the internal filename conventions.
@
text
@d3 6
a8 18
set mppflags = "-DPROF"
set m2cflags = "-T"
set filename = ""
foreach arg ($*)
	if ( "$arg" =~ -D* ) then
		set mppflags = "$mppflags $arg"
	else if ( "$arg" =~ -* ) then
		set m2cflags = "$m2cflags $arg"
	else
		set filename = $arg
	endif
end
rm -f $filename.i
~ksos/tools/mpp $mppflags $filename > M2Cx.$$
mv $filename $filename.M2C.$$
mv M2Cx.$$ $filename
if { run.m2c $m2cflags $filename } then
	mv $filename.M2C.$$ $filename
d10 2
a11 2
	mv $filename $filename.i
	mv $filename.M2C.$$ $filename
@
