Added some prototyping to stop a compile error with gcc 4.

This commit is contained in:
dtrg
2005-06-25 13:49:06 +00:00
367 changed files with 13721 additions and 0 deletions

67
mach/pdp/as/Makefile Normal file
View File

@@ -0,0 +1,67 @@
# $Header$
EMHOME = ../../..
h = $(EMHOME)/h
LIBOBJ = $(EMHOME)/modules/lib/libobject.a
CDIR = $(EMHOME)/mach/proto/as
CPP = $(EMHOME)/lib/cpp
DEF =
FFLAG =
INCL = -I. -I$h $(DEF)
CFLAGS = $(FFLAG) -O $(INCL)
YFLAGS = -d
LDFLAGS = $(FFLAG)
CSRC = $(CDIR)/comm3.c $(CDIR)/comm4.c $(CDIR)/comm5.c \
$(CDIR)/comm6.c $(CDIR)/comm7.c $(CDIR)/comm8.c
COBJ = comm3.o comm4.o comm5.o \
comm6.o comm7.o comm8.o
MACH = mach0.c mach1.c mach2.c mach3.c mach4.c mach5.c
COMM = $(CDIR)/comm0.h $(CDIR)/comm1.h $(CDIR)/comm2.y $(CSRC)
all: as
install:all
../../install as
cmp:
-../../compare as
clean:
rm -f *.o as as.[cy] y.tab.h
pr: $(MACH)
@pr -n $(MACH)
opr:
make pr | opr
as: $(COBJ) as.o
$(CC) $(LDFLAGS) $(COBJ) as.o $(LIBOBJ) -o as
as.y: $(CDIR)/comm2.y
$(CPP) -P -I. -I$h $(DEF) $(CDIR)/comm2.y >as.y
-@if test -f Expect ; then cat Expect ; else echo "expect 1 shift/reduce conflict"; fi
lint: $(CSRC) as.c
lint $(INCL) $(CSRC) as.c
y.tab.h: as.c
$(COBJ): y.tab.h
$(COBJ) as.y: $(CDIR)/comm0.h mach0.c
$(COBJ) as.y: $(CDIR)/comm1.h mach1.c
as.y: mach2.c
comm3.o: mach3.c
as.y: mach4.c
comm8.o: mach5.c
comm3.o: $(CDIR)/comm3.c
$(CC) -c $(CFLAGS) $(CDIR)/comm3.c
comm4.o: $(CDIR)/comm4.c
$(CC) -c $(CFLAGS) $(CDIR)/comm4.c
comm5.o: $(CDIR)/comm5.c
$(CC) -c $(CFLAGS) $(CDIR)/comm5.c
comm6.o: $(CDIR)/comm6.c
$(CC) -c $(CFLAGS) $(CDIR)/comm6.c
comm7.o: $(CDIR)/comm7.c
$(CC) -c $(CFLAGS) $(CDIR)/comm7.c
comm8.o: $(CDIR)/comm8.c
$(CC) -c $(CFLAGS) $(CDIR)/comm8.c

184
mach/pdp/cg/Makefile Normal file
View File

@@ -0,0 +1,184 @@
# $Header$
EMHOME=../../..
PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
PFLAGS=
CFLAGS=$(PREFLAGS) $(PFLAGS) -O
LDFLAGS=$(PFLAGS)
LINTOPTS=-hbxac
LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
CDIR=$(EMHOME)/mach/proto/cg
CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
$(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \
$(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \
$(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\
move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
all: tables.c
make "EMHOME="$(EMHOME) cg
cg: tables.o $(OFILES)
$(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
tables.o: tables.c
$(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
codegen.o: $(CDIR)/codegen.c
$(CC) -c $(CFLAGS) $(CDIR)/codegen.c
compute.o: $(CDIR)/compute.c
$(CC) -c $(CFLAGS) $(CDIR)/compute.c
equiv.o: $(CDIR)/equiv.c
$(CC) -c $(CFLAGS) $(CDIR)/equiv.c
fillem.o: $(CDIR)/fillem.c
$(CC) -c $(CFLAGS) $(CDIR)/fillem.c
gencode.o: $(CDIR)/gencode.c
$(CC) -c $(CFLAGS) $(CDIR)/gencode.c
glosym.o: $(CDIR)/glosym.c
$(CC) -c $(CFLAGS) $(CDIR)/glosym.c
main.o: $(CDIR)/main.c
$(CC) -c $(CFLAGS) $(CDIR)/main.c
move.o: $(CDIR)/move.c
$(CC) -c $(CFLAGS) $(CDIR)/move.c
nextem.o: $(CDIR)/nextem.c
$(CC) -c $(CFLAGS) $(CDIR)/nextem.c
reg.o: $(CDIR)/reg.c
$(CC) -c $(CFLAGS) $(CDIR)/reg.c
regvar.o: $(CDIR)/regvar.c
$(CC) -c $(CFLAGS) $(CDIR)/regvar.c
salloc.o: $(CDIR)/salloc.c
$(CC) -c $(CFLAGS) $(CDIR)/salloc.c
state.o: $(CDIR)/state.c
$(CC) -c $(CFLAGS) $(CDIR)/state.c
subr.o: $(CDIR)/subr.c
$(CC) -c $(CFLAGS) $(CDIR)/subr.c
var.o: $(CDIR)/var.c
$(CC) -c $(CFLAGS) $(CDIR)/var.c
install: all
../../install cg
cmp: all
-../../compare cg
distr: tables.c
rm -f tables1.[ch]
cp tables.c tables1.c
cp tables.h tables1.h
chmod -w tables1.[ch]
tables.c: table
-mv tables.h tables.h.save
$(EMHOME)/lib/cpp -P table | $(EMHOME)/lib/cgg > debug.out
-if cmp -s tables.h.save tables.h; then mv tables.h.save tables.h; else exit 0; fi
-if cmp -s /dev/null tables.h; then mv tables.h.save tables.h; else exit 0; fi
lint: $(CFILES)
lint $(LINTOPTS) $(PREFLAGS) $(CFILES)
clean:
rm -f *.o tables.c tables.h debug.out cg tables.h.save
codegen.o: $(CDIR)/assert.h
codegen.o: $(CDIR)/data.h
codegen.o: $(CDIR)/equiv.h
codegen.o: $(CDIR)/extern.h
codegen.o: $(CDIR)/param.h
codegen.o: $(CDIR)/result.h
codegen.o: $(CDIR)/state.h
codegen.o: tables.h
codegen.o: $(CDIR)/types.h
compute.o: $(CDIR)/assert.h
compute.o: $(CDIR)/data.h
compute.o: $(CDIR)/extern.h
compute.o: $(CDIR)/glosym.h
compute.o: $(CDIR)/param.h
compute.o: $(CDIR)/result.h
compute.o: tables.h
compute.o: $(CDIR)/types.h
equiv.o: $(CDIR)/assert.h
equiv.o: $(CDIR)/data.h
equiv.o: $(CDIR)/equiv.h
equiv.o: $(CDIR)/extern.h
equiv.o: $(CDIR)/param.h
equiv.o: $(CDIR)/result.h
equiv.o: tables.h
equiv.o: $(CDIR)/types.h
fillem.o: $(CDIR)/assert.h
fillem.o: $(CDIR)/data.h
fillem.o: $(CDIR)/extern.h
fillem.o: mach.c
fillem.o: mach.h
fillem.o: $(CDIR)/param.h
fillem.o: $(CDIR)/regvar.h
fillem.o: $(CDIR)/result.h
fillem.o: tables.h
fillem.o: $(CDIR)/types.h
gencode.o: $(CDIR)/assert.h
gencode.o: $(CDIR)/data.h
gencode.o: $(CDIR)/extern.h
gencode.o: $(CDIR)/param.h
gencode.o: $(CDIR)/result.h
gencode.o: tables.h
gencode.o: $(CDIR)/types.h
glosym.o: $(CDIR)/glosym.h
glosym.o: $(CDIR)/param.h
glosym.o: tables.h
glosym.o: $(CDIR)/types.h
main.o: $(CDIR)/param.h
move.o: $(CDIR)/assert.h
move.o: $(CDIR)/data.h
move.o: $(CDIR)/extern.h
move.o: $(CDIR)/param.h
move.o: $(CDIR)/result.h
move.o: tables.h
move.o: $(CDIR)/types.h
nextem.o: $(CDIR)/assert.h
nextem.o: $(CDIR)/data.h
nextem.o: $(CDIR)/extern.h
nextem.o: $(CDIR)/param.h
nextem.o: $(CDIR)/result.h
nextem.o: tables.h
nextem.o: $(CDIR)/types.h
reg.o: $(CDIR)/assert.h
reg.o: $(CDIR)/data.h
reg.o: $(CDIR)/extern.h
reg.o: $(CDIR)/param.h
reg.o: $(CDIR)/result.h
reg.o: tables.h
reg.o: $(CDIR)/types.h
regvar.o: $(CDIR)/assert.h
regvar.o: $(CDIR)/data.h
regvar.o: $(CDIR)/extern.h
regvar.o: $(CDIR)/param.h
regvar.o: $(CDIR)/regvar.h
regvar.o: $(CDIR)/result.h
regvar.o: tables.h
regvar.o: $(CDIR)/types.h
salloc.o: $(CDIR)/assert.h
salloc.o: $(CDIR)/data.h
salloc.o: $(CDIR)/extern.h
salloc.o: $(CDIR)/param.h
salloc.o: $(CDIR)/result.h
salloc.o: tables.h
salloc.o: $(CDIR)/types.h
state.o: $(CDIR)/assert.h
state.o: $(CDIR)/data.h
state.o: $(CDIR)/extern.h
state.o: $(CDIR)/param.h
state.o: $(CDIR)/result.h
state.o: $(CDIR)/state.h
state.o: tables.h
state.o: $(CDIR)/types.h
subr.o: $(CDIR)/assert.h
subr.o: $(CDIR)/data.h
subr.o: $(CDIR)/extern.h
subr.o: $(CDIR)/param.h
subr.o: $(CDIR)/result.h
subr.o: tables.h
subr.o: $(CDIR)/types.h
var.o: $(CDIR)/data.h
var.o: $(CDIR)/param.h
var.o: $(CDIR)/result.h
var.o: tables.h
var.o: $(CDIR)/types.h

135
mach/pdp/cg/peep.c Normal file
View File

@@ -0,0 +1,135 @@
#ifndef NORCSID
static char rcsid[] = "$Header$";
#endif
#include <stdio.h>
/*
* (c) copyright 1983 by the Vrije Universiteit, Amsterdam, The Netherlands.
*
* This product is part of the Amsterdam Compiler Kit.
*
* Permission to use, sell, duplicate or disclose this software must be
* obtained in writing. Requests for such permissions may be sent to
*
* Dr. Andrew S. Tanenbaum
* Wiskundig Seminarium
* Vrije Universiteit
* Postbox 7161
* 1007 MC Amsterdam
* The Netherlands
*
* Author: Hans van Staveren
*/
char buf[512];
char *index();
main() {
register n,sa;
register char *p;
sa=0;
for (;;) {
getline(buf);
if (n=stackadjust()) {
sa += n;
continue;
}
if (nullinstruction())
continue;
if (sa) {
if (buf[0]=='t' && buf[1]=='s' && buf[2]=='t' && buf[3]==' ') {
sa -= 2;
buf[0]='m';
buf[1]='o';
buf[2]='v';
strcat(buf,",(sp)+");
} else if (buf[0]=='m' && buf[1]=='o' && buf[2]=='v' &&
buf[3]==' ' && (p=index(&buf[5],','))!=0 &&
p[1]=='-' && p[2]=='(' && p[3]=='s') {
sa -= 2;
p[1]=' ';
}
}
switch(sa) {
case 0:break;
case 2:puts("tst (sp)+");sa=0;break;
case 4:puts("cmp (sp)+,(sp)+");sa=0;break;
case 6:puts("add $06,sp");sa=0;break;
}
puts(buf);
}
}
getline(buf) register char *buf; {
register c;
while ((c=getchar())==' ' || c=='\t')
;
if (c==EOF)
exit(0);
do *buf++=c;
while ((c=getchar())!='\n');
*buf=0;
}
stackadjust() {
if (buf[0]=='t' &&
buf[1]=='s' &&
buf[2]=='t' &&
buf[3]==' ' &&
buf[4]=='(' &&
buf[5]=='s' &&
buf[6]=='p' &&
buf[7]==')' &&
buf[8]=='+') return(2);
if (buf[0]=='c' &&
buf[1]=='m' &&
buf[2]=='p' &&
buf[3]==' ' &&
buf[4]=='(' &&
buf[5]=='s' &&
buf[6]=='p' &&
buf[7]==')' &&
buf[8]=='+' &&
buf[9]==',' &&
buf[10]=='(' &&
buf[11]=='s' &&
buf[12]=='p' &&
buf[13]==')' &&
buf[14]=='+') return(4);
if (buf[0]=='a' &&
buf[1]=='d' &&
buf[2]=='d' &&
buf[3]==' ' &&
buf[4]=='$' &&
buf[5]=='0' &&
buf[6]=='6' &&
buf[7]==',' &&
buf[8]=='s' &&
buf[9]=='p' &&
buf[10]==0) return(6);
return(0);
}
nullinstruction() {
register char *p;
if (buf[4]=='$' && buf[5]=='0' && buf[6]=='0' && buf[7]==',') {
p=index(buf,'-');
if (p!=0 && p[1]=='(')
return(0);
p=index(buf,'+');
if (p!=0 && p[-1]==')')
return(0);
if (buf[0]=='b' && buf[1]=='i' && (buf[2]=='s' || buf[2]=='c'))
return(1);
if (buf[0]=='a' && buf[1]=='d' && buf[2]=='d')
return(1);
if (buf[0]=='s' && buf[1]=='u' && buf[2]=='b')
return(1);
}
return(0);
}

25
mach/pdp/cv/Makefile Normal file
View File

@@ -0,0 +1,25 @@
EMHOME = ../../..
LIBOBJ = $(EMHOME)/modules/lib/libobject.a
INCLUDE = $(EMHOME)/h
CFLAGS = -I. -I$(INCLUDE) -O
TARGETS = cv
all: $(TARGETS)
install: all
../../install cv
cmp: all
../../compare cv
cv: cv.o
$(CC) $(LDFLAGS) -o cv cv.o $(LIBOBJ)
clean:
rm -f $(TARGETS) *.o nohup.out Out
pr:
@pr Makefile cv.c
opr:
make pr | opr

51
mach/pdp/int/Makefile Normal file
View File

@@ -0,0 +1,51 @@
INTS=em_t--- em_---- em_tf-- em_t-c- em_t--p
b=../../../lib/em22
all: $(INTS) eminform em
em: em.c
$(CC) -o em -I../../../h em.c
eminform: eminform.s
as eminform.s;ld -i -o eminform a.out -lc
em_t---: t+ f- c- p- em_int.s
as t+ f- c- p- em_int.s;ld -i -o em_t--- a.out -lc
em_----: t- f- c- p- em_int.s
as t- f- c- p- em_int.s;ld -i -o em_---- a.out -lc
em_tf--: t+ f+ c- p- em_int.s
as t+ f+ c- p- em_int.s;ld -i -o em_tf-- a.out -lc
em_t-c-: t+ f- c+ p- em_int.s
as t+ f- c+ p- em_int.s;ld -i -o em_t-c- a.out -lc
em_t--p: t+ f- c- p+ em_int.s
as t+ f- c- p+ em_int.s;ld -i -o em_t--p a.out -lc
install: all
-mkdir $b
cp em_???? $b
cp em eminform ../../../bin
cp em.1 eminform.1 ../../../man
cmp: all
-cmp em_t--- $b/em_t---
-cmp em_---- $b/em_----
-cmp em_tf-- $b/em_tf--
-cmp em_t-c- $b/em_t-c-
-cmp em_t--p $b/em_t--p
-cmp em ../../../bin/em
-cmp eminform ../../../bin/eminform
-cmp em.1 ../../../man/em.1
-cmp eminform.1 ../../../man/eminform.1
clean:
-rm -f *.o *.old a.out em eminform $(INTS)
opr:
make pr | opr
pr:
@pr em.c em_int.s eminform.s

33
mach/pdp/libem/Makefile Normal file
View File

@@ -0,0 +1,33 @@
all: head_em.o libem_o.a end.o
install: cp
cp: all
../../install head_em.o head_em
../../install libem_o.a tail_em
../../install end.o end_em
cmp: all
-../../compare head_em.o head_em
-../../compare libem_o.a tail_em
-../../compare end.o end_em
head_em.o: head_em.s
pdp -c head_em.s
end.o: end.s
pdp -c end.s
libem_o.a: libem_s.a
ASAR=aal ; export ASAR ; march . libem_o.a
clean:
rm -f *.o libem_o.a
opr:
make pr | opr
pr:
@pr `pwd`/Makefile `pwd`/head_em.s
@arch pv libem_s.a | pr -h `pwd`/libem_s.a

29
mach/pdp/libem/blm.s Normal file
View File

@@ -0,0 +1,29 @@
/ $Header$
.globl blm~
.globl save~,retu~
/ Size in r0
blm~:
jsr pc,save~
mov (sp)+,r2
mov (sp)+,r3
mov r0,r1
asr r0
beq 2f
/ Now avoid wrong copy.
/ The pieces may overlap !
cmp r3,r2
beq 2f
blt 3f
1:
mov (r3)+,(r2)+
sob r0,1b
2:
jmp retu~
3:
add r1,r3
add r1,r2
4:
mov -(r3),-(r2)
sob r0,4b
br 2b

4
mach/pdp/libem/compmodule Executable file
View File

@@ -0,0 +1,4 @@
if pdp -c $1 1>&2
then echo `basename $1 $2`.o
else exit 1
fi

16
mach/pdp/libem/end.s Normal file
View File

@@ -0,0 +1,16 @@
.define endtext,enddata,endbss,_etext,_edata,_end
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .end ! only for declaration of _end and endbss.
.sect .text
endtext:
_etext:
.sect .data
enddata:
_edata:
.sect .end
_end:
endbss:

75
mach/pdp/libem/head_em.s Normal file
View File

@@ -0,0 +1,75 @@
#
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define LINO_AD,FILN_AD
.define ERANGE,ESET,EHEAP,EILLINS,ECASE
.define hol0,trppc~,trpim~,reghp~,.limhp
! $Header$
#define float 1
#define hardfp 1
LINO_AD = 0
FILN_AD = 4
ERANGE = 1
ESET = 2
EFOVFL = 4
EFUNFL = 5
EFDIVZ = 7
EFUND = 011
ECONV = 012
EHEAP = 021
EILLINS = 022
ECASE = 024
#ifdef float
#ifndef hardfp
! sys 060;.data2 4,fptrap / if not commented it will appear as undefined
#endif
sys 060;.data2 010,sig8
ldfps $07600
#endif
mov 2(sp),r0
clr -2(r0)
mov sp,r0
sub $4,sp
mov 4(sp),(sp)
tst (r0)+
mov r0,2(sp)
1:
tst (r0)+
bne 1b
cmp r0,*2(sp)
blo 1f
tst -(r0)
1:
mov r0,4(sp)
jsr pc,__m_a_i_n
! next two lines for as long as tail needs printf
! mov r0,-(sp)
! jsr pc,*$_exit
sys 1
.sect .data
hol0: .data2 0,0 ! line no
.data2 0,0 ! file
trppc~: .data2 0
trpim~: .data2 0
reghp~: .data2 _end
.limhp: .data2 _end
.sect .text
sig8:
#ifdef float
mov r0,-(sp)
stst r0
mov 1f(r0),-(sp)
jsr pc,trp~
sys 060;.data2 010,sig8
mov (sp)+,r0
rti
.sect .data
1: .data2 EILLINS, EILLINS, EFDIVZ, ECONV, EFOVFL, EFUNFL, EFUND, EILLINS
.sect .text
#endif

12
mach/pdp/libem/hlt.s Normal file
View File

@@ -0,0 +1,12 @@
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.sect .text
.define hlt~
! $Header$
exit = 1
hlt~:
mov (sp)+,r0
bne 1f
sys exit
1: .data2 4

93
mach/pdp/libem/sigtrp.s Normal file
View File

@@ -0,0 +1,93 @@
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.sect .text
.define sigtrp~
.define trp~,save~,retu~
! $Header$
indir = 0
signal = 060
sig1: mov sig.trp+0,-(sp)
br 1f
sig2: mov sig.trp+2,-(sp)
br 1f
sig3: mov sig.trp+4,-(sp)
br 1f
sig4: mov sig.trp+6,-(sp)
br 1f
sig5: mov sig.trp+010,-(sp)
br 1f
sig6: mov sig.trp+012,-(sp)
br 1f
sig7: mov sig.trp+014,-(sp)
br 1f
sig10: mov sig.trp+022,-(sp)
br 1f
sig11: mov sig.trp+024,-(sp)
br 1f
sig12: mov sig.trp+026,-(sp)
br 1f
sig13: mov sig.trp+030,-(sp)
br 1f
sig14: mov sig.trp+032,-(sp)
br 1f
sig15: mov sig.trp+034,-(sp)
br 1f
sig16: mov sig.trp+036,-(sp)
br 1f
1:
jsr pc,trp~
rti
sigtrp~:
jsr pc,save~
tst (sp)+
mov (sp)+,r1
mov (sp)+,r0
ble sig.bad
cmp r0,$020
bhi sig.bad
mov r0,call+02
asl r0
mov sig.trp-2(r0),r3
cmp r1,$0400
bhis 1f
mov sig.adr-2(r0),r2
bne 2f
sig.bad:
mov $-1,r0
sigbad:
mov r0,-(sp)
mov r0,-(sp)
jmp retu~
1: cmp r1,$-3
blo sig.bad
mov r1,r2
inc r2
inc r2
2: mov r1,sig.trp-2(r0)
mov r2,call+04
sys indir ; .data2 call
bcs sigbad
asr r0
bcc 1f
mov $-3,-(sp)
clr -(sp)
jmp retu~
1: mov r3,-(sp)
clr -(sp)
jmp retu~
.sect .data
call: sys signal
.data2 0, 0
sig.trp:
.data2 -2, -2, -2, -2
.data2 -2, -2, -2, -2
.data2 -2, -2, -2, -2
.data2 -2, -2, -2, -2
sig.adr:
.data2 sig1, sig2, sig3, sig
.data2 sig5, sig6, sig7, 0
.data2 0, sig10, sig11, sig12
.data2 sig13, sig14, sig15, sig16

21
mach/pdp/libpc/makefile Normal file
View File

@@ -0,0 +1,21 @@
MAKEFILE=../../proto/libg/Makefile
MACHDEF="MACH=pdp -Rbe-p2" "SUF=s" "ASAR=ar"
PCDEF="PREF=pc" "SUB=" "SRC=lang/pc/libpc"
LIBDIR=../lib
install:
make -f $(MAKEFILE) $(PCDEF) $(MACHDEF) cp
cmp:
make -f $(MAKEFILE) $(PCDEF) $(MACHDEF) all
cmp head_pc $(LIBDIR)/head_pc
cmp tail_pc $(LIBDIR)/tail_pc
clean:
-rm -f *.old *.[ce$(SUF)] tail* head*
opr:
make pr | opr
pr:
@pr Makefile

24
mach/pdp/libsys/Makefile Normal file
View File

@@ -0,0 +1,24 @@
# $Header$
all: libmon_o.a
install: cp
cp: all
../../install libmon_o.a tail_mon
cmp: all
-../../compare libmon_o.a tail_mon
libmon_o.a: libmon_s.a
ASAR=aal ; export ASAR ;\
march . libmon_o.a
clean:
rm -f *.o libmon_o.a
opr:
make pr | opr
pr:
@pr `pwd`/Makefile
@arch pv libmon_s.a | pr -h `pwd`/libmon_s.a

4
mach/pdp/libsys/compmodule Executable file
View File

@@ -0,0 +1,4 @@
if pdp -L -O -c -I../../../h -I. $1 1>&2
then echo `basename $1 $2`.o
else exit 1
fi

197
mach/pdp/ncg/Makefile Normal file
View File

@@ -0,0 +1,197 @@
# $Header$
EMHOME=../../..
#preprocessor flags for table
TABLEFLAGS=
#cgg options
CGGFLAGS=
PREFLAGS=-I$(EMHOME)/h -I. -I$(EMHOME)/mach -I$(EMHOME)/modules/h -DNDEBUG
PFLAGS=
CFLAGS=$(PREFLAGS) $(PFLAGS) -O
LDFLAGS=$(PFLAGS)
LINTOPTS=-bx
LIBS=$(EMHOME)/lib/em_data.a $(EMHOME)/modules/lib/libflt.a
CDIR=$(EMHOME)/mach/proto/ncg
CGG=$(EMHOME)/lib/ncgg
CPP=$(EMHOME)/lib/cpp
CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \
$(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \
$(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \
$(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c
OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \
main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o
all: tables.c
make "EMHOME="$(EMHOME) cg
cg: tables.o $(OFILES)
$(CC) $(LDFLAGS) $(OFILES) tables.o $(LIBS) -o cg
tables.o: tables.c
$(CC) -c $(PREFLAGS) -I$(CDIR) tables.c
codegen.o: $(CDIR)/codegen.c
$(CC) -c $(CFLAGS) $(CDIR)/codegen.c
compute.o: $(CDIR)/compute.c
$(CC) -c $(CFLAGS) $(CDIR)/compute.c
equiv.o: $(CDIR)/equiv.c
$(CC) -c $(CFLAGS) $(CDIR)/equiv.c
fillem.o: $(CDIR)/fillem.c
$(CC) -c $(CFLAGS) $(CDIR)/fillem.c
gencode.o: $(CDIR)/gencode.c
$(CC) -c $(CFLAGS) $(CDIR)/gencode.c
glosym.o: $(CDIR)/glosym.c
$(CC) -c $(CFLAGS) $(CDIR)/glosym.c
label.o: $(CDIR)/label.c
$(CC) -c $(CFLAGS) $(CDIR)/label.c
main.o: $(CDIR)/main.c
$(CC) -c $(CFLAGS) $(CDIR)/main.c
move.o: $(CDIR)/move.c
$(CC) -c $(CFLAGS) $(CDIR)/move.c
nextem.o: $(CDIR)/nextem.c
$(CC) -c $(CFLAGS) $(CDIR)/nextem.c
reg.o: $(CDIR)/reg.c
$(CC) -c $(CFLAGS) $(CDIR)/reg.c
regvar.o: $(CDIR)/regvar.c
$(CC) -c $(CFLAGS) $(CDIR)/regvar.c
salloc.o: $(CDIR)/salloc.c
$(CC) -c $(CFLAGS) $(CDIR)/salloc.c
state.o: $(CDIR)/state.c
$(CC) -c $(CFLAGS) $(CDIR)/state.c
subr.o: $(CDIR)/subr.c
$(CC) -c $(CFLAGS) $(CDIR)/subr.c
var.o: $(CDIR)/var.c
$(CC) -c $(CFLAGS) $(CDIR)/var.c
install: all
$(EMHOME)/mach/install cg
cmp: all
-$(EMHOME)/mach/compare cg
tables.c: table $(CGG)
$(CPP) $(TABLEFLAGS) table | $(CGG) $(CGGFLAGS)
-cmp tables.h tables.H || cp tables.H tables.h
lint: $(CFILES) tables.c
lint $(LINTOPTS) $(PREFLAGS) -I$(CDIR) $(CFILES) tables.c
clean:
rm -f *.o tables.c tables.h debug.out cg tables.H
distr: tables.c
rm -f tables1.c tables1.h
cp tables.c tables1.c
cp tables.h tables1.h
chmod -w tables1.[ch]
codegen.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
codegen.o: $(CDIR)/data.h
codegen.o: $(CDIR)/equiv.h
codegen.o: $(CDIR)/extern.h
codegen.o: $(CDIR)/param.h
codegen.o: $(CDIR)/result.h
codegen.o: $(CDIR)/state.h
codegen.o: tables.h
codegen.o: $(CDIR)/types.h
compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
compute.o: $(CDIR)/data.h
compute.o: $(CDIR)/extern.h
compute.o: $(CDIR)/glosym.h
compute.o: $(CDIR)/label.h
compute.o: $(CDIR)/param.h
compute.o: $(CDIR)/result.h
compute.o: tables.h
compute.o: $(CDIR)/types.h
equiv.o: $(CDIR)/assert.h
equiv.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
equiv.o: $(CDIR)/equiv.h
equiv.o: $(CDIR)/extern.h
equiv.o: $(CDIR)/param.h
equiv.o: $(CDIR)/result.h
equiv.o: tables.h
equiv.o: $(CDIR)/types.h
fillem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
fillem.o: $(CDIR)/data.h
fillem.o: $(CDIR)/extern.h
fillem.o: mach.c
fillem.o: mach.h
fillem.o: $(CDIR)/param.h
fillem.o: $(CDIR)/regvar.h
fillem.o: $(CDIR)/result.h
fillem.o: tables.h
fillem.o: $(CDIR)/types.h
gencode.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
gencode.o: $(CDIR)/data.h
gencode.o: $(CDIR)/extern.h
gencode.o: $(CDIR)/param.h
gencode.o: $(CDIR)/result.h
gencode.o: tables.h
gencode.o: $(CDIR)/types.h
glosym.o: $(CDIR)/glosym.h
glosym.o: $(CDIR)/param.h
glosym.o: tables.h
glosym.o: $(CDIR)/types.h
label.o: $(CDIR)/label.h
label.o: $(CDIR)/param.h
label.o: tables.h
label.o: $(CDIR)/types.h
main.o: $(CDIR)/param.h
main.o: tables.h
move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
move.o: $(CDIR)/data.h
move.o: $(CDIR)/extern.h
move.o: $(CDIR)/param.h
move.o: $(CDIR)/result.h
move.o: tables.h
move.o: $(CDIR)/types.h
nextem.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
nextem.o: $(CDIR)/data.h
nextem.o: $(CDIR)/extern.h
nextem.o: $(CDIR)/param.h
nextem.o: $(CDIR)/result.h
nextem.o: tables.h
nextem.o: $(CDIR)/types.h
reg.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
reg.o: $(CDIR)/data.h
reg.o: $(CDIR)/extern.h
reg.o: $(CDIR)/param.h
reg.o: $(CDIR)/result.h
reg.o: tables.h
reg.o: $(CDIR)/types.h
regvar.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
regvar.o: $(CDIR)/data.h
regvar.o: $(CDIR)/extern.h
regvar.o: $(CDIR)/param.h
regvar.o: $(CDIR)/regvar.h
regvar.o: $(CDIR)/result.h
regvar.o: tables.h
regvar.o: $(CDIR)/types.h
salloc.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
salloc.o: $(CDIR)/data.h
salloc.o: $(CDIR)/extern.h
salloc.o: $(CDIR)/param.h
salloc.o: $(CDIR)/result.h
salloc.o: tables.h
salloc.o: $(CDIR)/types.h
state.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
state.o: $(CDIR)/data.h
state.o: $(CDIR)/extern.h
state.o: $(CDIR)/param.h
state.o: $(CDIR)/result.h
state.o: $(CDIR)/state.h
state.o: tables.h
state.o: $(CDIR)/types.h
subr.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h
subr.o: $(CDIR)/data.h
subr.o: $(CDIR)/extern.h
subr.o: $(CDIR)/param.h
subr.o: $(CDIR)/result.h
subr.o: tables.h
subr.o: $(CDIR)/types.h
var.o: $(CDIR)/data.h $(EMHOME)/h/cgg_cg.h
var.o: $(CDIR)/param.h
var.o: $(CDIR)/result.h
var.o: tables.h
var.o: $(CDIR)/types.h

42
mach/pdp/top/Makefile Normal file
View File

@@ -0,0 +1,42 @@
EMHOME=../../..
LIBS=$(EMHOME)/modules/lib/libstring.a
PREFLAGS=-I.
PFLAGS=
CFLAGS=$(PREFLAGS) $(PFLAGS) -O -DNDEBUG
LDFLAGS=$(PFLAGS)
LINTOPTS=-bx
CDIR=$(EMHOME)/mach/proto/top
CFILES=$(CDIR)/top.c $(CDIR)/queue.c
OFILES=top.o queue.o
all: gen.c
make top
top: $(OFILES)
$(CC) $(LDFLAGS) $(OFILES) $(LIBS) -o top
top.o: $(CDIR)/top.c gen.c
$(CC) -c $(CFLAGS) $(CDIR)/top.c
queue.o: $(CDIR)/queue.c
$(CC) -c $(CFLAGS) $(CDIR)/queue.c
install: all
$(EMHOME)/mach/install top
cmp: all
-$(EMHOME)/mach/compare top
gen.c: table
$(EMHOME)/lib/topgen table
lint: $(CFILES)
lint $(LINTOPTS) $(PREFLAGS) $(CFILES)
clean:
rm -f *.o gen.c gen.h top
top.o: gen.h
top.o: $(CDIR)/top.h
top.o: $(CDIR)/queue.h
queue.o: $(CDIR)/queue.h