|
|
1.1 root 1: # mkfile for f2c, a Fortran 77 to C converter
2:
3: g = -g
4: CFLAGS = $g
5:
6: DESTDIR =
7:
8: OBJECTSd = main.o init.o gram.o lex.o proc.o equiv.o data.o format.o \
9: expr.o exec.o intr.o io.o misc.o error.o mem.o names.o \
10: output.o p1output.o pread.o put.o putpcc.o vax.o formatdata.o \
11: parse_args.o niceprintf.o cds.o sysdep.o version.o
12: OBJECTS = $OBJECTSd malloc.o
13:
14: f2c: $OBJECTS
15: $CC $LDFLAGS $OBJECTS -o f2c
16:
17: gram.c: gram.head gram.dcl gram.expr gram.exec gram.io defs.h tokdefs.h
18: ( sed <tokdefs.h "s/#define/%token/" ;\
19: cat gram.head gram.dcl gram.expr gram.exec gram.io ) >gram.in
20: $YACC $YFLAGS gram.in
21: echo "(expect 4 shift/reduce)"
22: sed 's/^# line.*/\/* & *\//' y.tab.c >gram.c
23: rm gram.in y.tab.c
24:
25: $OBJECTSd: defs.h ftypes.h defines.h machdefs.h sysdep.h
26:
27: tokdefs.h: tokens
28: grep -n . <tokens | sed "s/\([^:]*\):\(.*\)/#define \2 \1/" >tokdefs.h
29:
30: cds.o: sysdep.h
31: exec.o: p1defs.h names.h
32: expr.o: names.h niceprintf.h output.h
33: format.o: p1defs.h format.h niceprintf.h output.h names.h iob.h
34: formatdata.o: format.h niceprintf.h output.h names.h
35: gram.o: p1defs.h
36: init.o: niceprintf.h output.h iob.h
37: intr.o: names.h
38: io.o: names.h iob.h
39: lex.o : tokdefs.h p1defs.h
40: main.o: parse.h usignal.h
41: mem.o: iob.h
42: names.o: iob.h names.h niceprintf.h output.h
43: niceprintf.o: defs.h names.h niceprintf.h output.h
44: output.o: niceprintf.h output.h names.h
45: p1output.o: p1defs.h niceprintf.h output.h names.h
46: parse_args.o: parse.h
47: proc.o: tokdefs.h names.h niceprintf.h output.h p1defs.h
48: put.o: names.h pccdefs.h p1defs.h
49: putpcc.o: names.h
50: vax.o: defs.h niceprintf.h output.h pccdefs.h
51:
52: put.o putpcc.o: pccdefs.h
53:
54: f2c.t: f2c.1t
55: troff -man f2c.1t >f2c.t
56:
57: f2c.1: f2c.1t
58: nroff -man f2c.1t | col -b | uniq >f2c.1
59:
60: clean:
61: rm -f gram.c *.o f2c tokdefs.h compiler f2c.t
62:
63: B = cds.c data.c defines.h defs.h equiv.c error.c exec.c expr.c \
64: format.c format.h formatdata.c ftypes.h \
65: gram.dcl gram.exec gram.expr gram.head gram.io \
66: init.c intr.c io.c iob.h lex.c machdefs.h main.c \
67: malloc.c mem.c memset.c misc.c names.c names.h niceprintf.c \
68: niceprintf.h output.c output.h p1defs.h p1output.c \
69: parse.h parse_args.c pccdefs.h pread.c proc.c put.c \
70: putpcc.c sysdep.c sysdep.h tokens usignal.h vax.c
71: bx = f2c.1 f2c.1t f2c.h makefile mkfile version.c xsum.c xsum0.out Notice README
72:
73: version.c: $B
74: x=`Dt -d -t $B`
75: echo -e "char F2C_version[] = \"$x\";\nchar xxxvers[] = \"\\\\n@(#) FORTRAN 77 to C Translator, VERSION $x\\\\n\";" >version.c
76:
77: bundle:V: /tmp/t/f2c.st
78: /tmp/t/f2c.st: $B $bx
79: stree $prereq >/tmp/t/f2c.st
80:
81: b1 = cds.c data.c defines.h defs.h f2c.h format.c format.h
82: b2 = equiv.c error.c exec.c expr.c
83: b3 = formatdata.c ftypes.h gram.dcl gram.exec gram.expr gram.head gram.io intr.c io.c
84: b4 = lex.c machdefs.h main.c sysdep.c sysdep.h malloc.c misc.c names.c names.h pread.c
85: b5 = init.c output.c output.h p1defs.h p1output.c parse.h parse_args.c pccdefs.h
86: b6 = proc.c put.c putpcc.c tokens usignal.h vax.c mkfile
87: b7 = f2c.1 f2c.1t gram.c iob.h makefile mem.c niceprintf.c niceprintf.h version.c
88:
89: U = -u
90:
91: /tmp/t/f2c: $B
92: mkdir /tmp/t/f2c
93: stree $U $b1 >/tmp/t/f2c/b1
94: stree $U $b2 >/tmp/t/f2c/b2
95: stree $U $b3 >/tmp/t/f2c/b3
96: stree $U $b4 >/tmp/t/f2c/b4
97: stree $U $b5 >/tmp/t/f2c/b5
98: stree $U $b6 >/tmp/t/f2c/b6
99: stree $U $b7 >/tmp/t/f2c/b7
100:
101: ls:
102: ls -l $B
103:
104: /tmp/f2c.tar: $B
105: tar cf - $B >/tmp/f2c.tar
106:
107: tape: /tmp/f2c.tar
108: for j in 1 2; do
109: for i in /tmp/f2c.tar $B; do
110: dd if=$i bs=10k of=/dev/nrmt1
111: done
112: done
113: mt offl
114:
115: # read the tape and unpack via
116: # dd if=/dev/rmt1 bs=10k of=foo
117: # tar xf foo
118: #(in an empty directory).
119:
120: b = Notice README cds.c data.c defines.h defs.h equiv.c error.c \
121: exec.c expr.c f2c.1 f2c.1t f2c.h format.c format.h formatdata.c \
122: ftypes.h gram.dcl gram.exec gram.expr gram.head gram.io \
123: init.c intr.c io.c iob.h lex.c machdefs.h main.c makefile \
124: malloc.c mem.c memset.c misc.c names.c names.h niceprintf.c \
125: niceprintf.h output.c output.h p1defs.h p1output.c \
126: parse.h parse_args.c pccdefs.h pread.c proc.c put.c putpcc.c \
127: sysdep.c sysdep.h tokens usignal.h vax.c version.c xsum.c
128:
129: all: $b xsum0.out
130: stree -u $b xsum0.out >/tmp/t/all
131:
132: lt: $b xsum0.out
133: Dt -x `ls -t $b xsum0.out` | awk '{printf "%10s %8s %s\n",$1,$2,$4}' >lt
134:
135: xsum: xsum.c
136: $CC -o xsum xsum.c
137:
138: xsum.out: $b
139: xsum $b >xsum.out
140: cmp xsum0.out xsum.out || diff xsum0.out xsum.out
141:
142: z=
143: /tmp/t/t:
144: mkdir /tmp/t/t
145:
146: zap: xsum.out /tmp/t/t
147: cmp xsum.out xsum0.out
148: for i in pyxis/usr tempel/u;do stree $z xsum0.out version.c >/n/$i/dmg/zap;done
149: cp $z xsum0.out version.c /tmp/t/t
150:
151: bletch: xsum.out
152: cmp xsum0.out xsum.out || { diff xsum0.out xsum.out |\
153: awk 'BEGIN {printf "cp xsum.out xsum0.out;mk zap z='"'"'";sp = ""}
154: /version\.c/ {next}
155: /^> / {printf "%s%s", sp, $2; sp = " "}
156: END {printf "'"'"'\n"}' }
157:
158: /n/pyxis/usr/dmg/f2c/mkfile: mkfile
159: sed '/^CFLAGS =/s/$/ -DANSI_Libraries/' $prereq >$target
160:
161: /n/pyxis/netlib/f2c/readme: readme
162: for i in pyxis inet; do cp readme fixes /n/$i/netlib/f2c; done
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.