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


0.5
date     87.10.29.14.28.28;  author Perrine;  state Exp;
branches 0.5.1.1;
next     0.4;

0.4
date     87.07.21.10.21.25;  author Perrine;  state Exp;
branches ;
next     ;

0.5.1.1
date     87.11.12.17.06.59;  author Makey;  state Exp;
branches ;
next     0.5.1.2;

0.5.1.2
date     87.11.12.19.07.53;  author Makey;  state Exp;
branches ;
next     0.5.1.3;

0.5.1.3
date     87.11.12.21.11.12;  author Makey;  state Exp;
branches ;
next     ;


desc
@Makefile for initial process test programs and Kernel Call interface lib.
@


0.5
log
@For milestone 12. Updated dependencies, added stuff for
PseudoInterruptVectors module.
@
text
@K32LIB=/u/ksos/ksos32/kernel/lib
system =
compile	=-E
link =-E -n

library:	programs objects symbols

programs:	testXX.out

namelist:	testXX.out
		nm -n testXX.out > $@@

symbols:	.sym/KernelCalls .sym/fixKcalls .sym/userFdt \
		.sym/PseudoInterruptVectors

objects:	.lnk/testXX .lnk/KernelCalls .lnk/fixKcalls .lnk/userFdt \
		.lnk/PseudoInterruptVectors

install: testXX.out installInit.kwr
	csh -c ~ksos/tools/kwr.out < installInit.kwr
	@@echo ' '

testXX.out:	testXX.ld.sh testXX.gfo
		@@sh -v testXX.ld.sh
		size $@@

testXX.gfo:	testXX.gfs2
		as -o $@@ testXX.gfs2

testXX.gfs2:	testXX.gfs fix.testXX.gfs.ed
		ed - testXX.gfs < fix.testXX.gfs.ed

testXX.ld.sh testXX.gfs:	.lnk/testXX \
  .lnk/KernelCalls .lnk/fixKcalls .lnk/userFdt \
  .lnk/PseudoInterruptVectors \
  $(K32LIB)/.lnk/K32except \
  $(K32LIB)/.lnk/K32baseTypes $(K32LIB)/.lnk/K32machine \
  $(K32LIB)/.lnk/K32types
	m2l -c -S -L -X -n -E testXX | sed -e 's/^/ld /' \
		-e 's= \./= =g' \
			> testXX.ld.sh
# The preceding invocation of sed prepends the "ld" command and removes
# superfluous "./" pathname components.


.lnk/testXX:	testXX.mod .sym/PseudoInterruptVectors \
  $(K32LIB)/.sym/K32except \
  $(K32LIB)/.sym/K32baseTypes  $(K32LIB)/.sym/K32types \
  $(K32LIB)/.sym/K32machine \
  .sym/KernelCalls .sym/fixKcalls .sym/userFdt m2path
		m2c$(system) $(compile)	testXX

KernelCalls.s: KernelCalls.mod .sym/KernelCalls .sym/fixKcalls \
  $(K32LIB)/.sym/K32baseTypes \
  $(K32LIB)/.sym/K32calls \
  $(K32LIB)/.sym/K32callp \
  $(K32LIB)/.sym/K32types	\
  $(K32LIB)/.sym/K32except m2path
		m2c$(system) $(compile)	-S KernelCalls.mod
		rm -f .lnk/KernelCalls

.lnk/KernelCalls:	KernelCalls.s fixKcalls.sed .sym/fixKcalls
		sed -f fixKcalls.sed KernelCalls.s | tee KernelCalls.s2 | as -o $@@ 


.lnk/PseudoInterruptVectors:	PseudoInterruptVectors.mod  m2path \
  .sym/KernelCalls \
  .sym/PseudoInterruptVectors \
  $(K32LIB)/.sym/K32types \
  $(K32LIB)/.sym/K32except \
  $(K32LIB)/.sym/K32machine
		m2c$(system) $(compile)	PseudoInterruptVectors

.sym/PseudoInterruptVectors:	PseudoInterruptVectors.def m2path \
  $(K32LIB)/.sym/K32types
	m2c$(system) -d	$(compile) PseudoInterruptVectors

.sym/KernelCalls: KernelCalls.def .sym/fixKcalls \
  $(K32LIB)/.sym/K32baseTypes \
  $(K32LIB)/.sym/K32types	\
  $(K32LIB)/.sym/K32except \
  $(K32LIB)/.sym/K32machine  m2path
		m2c$(system) -d	$(compile) KernelCalls

.sym/fixKcalls:	fixKcalls.def $(K32LIB)/.sym/K32except m2path
	m2c -E -d fixKcalls.def

.lnk/fixKcalls:	fixKcalls.mod $(K32LIB)/.sym/K32except m2path
	m2c -E fixKcalls.mod


M2C:	$(K32LIB)/M2C
	cat $(K32LIB)/M2C | sed -e "s/-DPROF//" > M2C

userFdt.s: userFdt.mod .sym/userFdt  m2path
		m2c$(system) $(compile)	-S userFdt.mod
		rm -f .lnk/userFdt

.lnk/userFdt:	userFdt.s fixUserFdt.sed
		sed -f fixUserFdt.sed userFdt.s > userFdt.s2
		as -o $@@ userFdt.s2

.sym/userFdt: userFdt.def .sym/fixKcalls \
  $(K32LIB)/.sym/K32baseTypes \
  $(K32LIB)/.sym/K32types	\
  $(K32LIB)/.sym/K32except \
  $(K32LIB)/.sym/K32machine m2path
		m2c$(system) -d	$(compile) userFdt

testXX.mod:	RCS/testXX.mod,v
	co -b RCS/testXX.mod,v

userFdt.mod:	RCS/userFdt.mod,v
	co -b RCS/userFdt.mod,v

userFdt.def:	RCS/userFdt.def,v
	co -b RCS/userFdt.def,v

fixKcalls.mod:	RCS/fixKcalls.mod,v
	co -b RCS/fixKcalls.mod,v

fixKcalls.def:	RCS/fixKcalls.def,v
	co -b RCS/fixKcalls.def,v

KernelCalls.mod:	RCS/KernelCalls.mod,v
	co -b RCS/KernelCalls.mod,v

KernelCalls.def:	RCS/KernelCalls.def,v
	co -b RCS/KernelCalls.def,v

fix.testXX.gfs.ed:	RCS/fix.testXX.gfs.ed,v
	co -b RCS/fix.testXX.gfs.ed,v

fixUserFdt.sed:	RCS/fixUserFdt.sed,v
	co -b RCS/fixUserFdt.sed,v

fixKcalls.sed:	RCS/fixKcalls.sed,v
	co -b RCS/fixKcalls.sed,v

m2path:	RCS/m2path,v
	co -b RCS/m2path,v

clean:
	rm *~ .sym/* .ref/* .lnk/* .key/* *.ld.sh *.s *.s2 *gfs *gfo *gfs2
@


0.5.1.1
log
@Updated dependencies.
Added targets to pull the pseudo-interrupt vector module files from
the RCS directory.
@
text
@d80 3
a82 2
  $(K32LIB)/.sym/K32types \
  $(K32LIB)/.sym/K32except m2path
a129 6

PseudoInterruptVectors.mod:	RCS/PseudoInterruptVectors.mod,v
	co -b RCS/PseudoInterruptVectors.mod,v

PseudoInterruptVectors.def:	RCS/PseudoInterruptVectors.def,v
	co -b RCS/PseudoInterruptVectors.def,v
@


0.5.1.2
log
@Completely rewritten.
@
text
@d1 4
a4 2
K32LIB = /u/ksos/ksos32/kernel/lib
KILIB = /u/ksos/ksos32/kernel_interface/lib
d6 1
a6 3
testXX.out: testXX.ld.sh testXX.gfo
	@@sh -v testXX.ld.sh
	size $@@
d8 1
a8 2
testXX.gfo: testXX.gfs2
	as -o $@@ testXX.gfs2
d10 2
a11 2
testXX.gfs2: testXX.gfs fix.testXX.gfs.ed
	ed - testXX.gfs < fix.testXX.gfs.ed
d13 26
a38 4
testXX.ld.sh testXX.gfs: .lnk/testXX $(K32LIB)/.lnk/K32machine \
  $(K32LIB)/.lnk/K32baseTypes $(K32LIB)/.lnk/K32types \
  $(K32LIB)/.lnk/K32except $(KILIB)/.lnk/KernelCalls $(KILIB)/.lnk/userFdt \
  $(KILIB)/.lnk/PseudoInterruptVectors m2path
a44 5
.lnk/testXX: testXX.mod $(K32LIB)/.sym/K32machine \
  $(K32LIB)/.sym/K32baseTypes $(K32LIB)/.sym/K32types \
  $(K32LIB)/.sym/K32except $(KILIB)/.sym/KernelCalls $(KILIB)/.sym/userFdt \
  $(KILIB)/.sym/PseudoInterruptVectors m2path
	run.m2c -T -E testXX.mod
d46 6
a51 2
testXX.mod: RCS/testXX.mod,v
	co -b -q $@@
d53 8
a60 2
m2path:	RCS/m2path,v
	co -b -q $@@
d62 2
a63 2
fix.testXX.gfs.ed: RCS/fix.testXX.gfs.ed,v
	co -b -q $@@
a64 2
namelist: testXX.out
	nm -n testXX.out > $@@
d66 7
a72 3
install: testXX.out installInit.kwr
	csh -c ~ksos/tools/kwr.out < installInit.kwr
	@@echo ' '
d74 74
d149 1
a149 1
	rm -f testXX.gf[os] testXX.gfs2 testXX.ld.sh
@


0.5.1.3
log
@Changed the load phase to prevent loading from the C library.
@
text
@d18 5
a22 6
	m2l -c -S -E -L -X -n testXX\
	  | sed -e 's/^/ld /'\
		-e 's= \./= =g'\
		-e 's/ -lc//' > testXX.ld.sh
# The preceding invocation of sed prepends the "ld" command, removes
# superfluous "./" pathname components, and prevents loading the C library.
@


0.4
log
@This version used to compile test programs for Milestone 11.
@
text
@d10 2
a11 1
symbols:	.sym/KernelCalls .sym/fixKcalls .sym/userFdt
d13 2
a14 1
objects:	.lnk/testXX .lnk/KernelCalls .lnk/fixKcalls .lnk/userFdt
d16 7
d35 1
d37 1
a37 1
  $(K32LIB)/.lnk/K32baseTypes \
d46 4
a49 1
.lnk/testXX:	testXX.mod $(K32LIB)/.sym/K32except \
d65 12
@
