aboutsummaryrefslogtreecommitdiff
path: root/unix/f2c/src/mkfile.plan9
diff options
context:
space:
mode:
Diffstat (limited to 'unix/f2c/src/mkfile.plan9')
-rw-r--r--unix/f2c/src/mkfile.plan9107
1 files changed, 107 insertions, 0 deletions
diff --git a/unix/f2c/src/mkfile.plan9 b/unix/f2c/src/mkfile.plan9
new file mode 100644
index 00000000..73466121
--- /dev/null
+++ b/unix/f2c/src/mkfile.plan9
@@ -0,0 +1,107 @@
+# Plan 9 mkfile for f2c, a Fortran 77 to C converter
+
+</$objtype/mkfile
+NPROC = 1
+CC = pcc
+CFLAGS = -DANSI_Libraries -DNO_LONG_LONG
+
+%.$O: %.c
+ $CC -c $CFLAGS $stem.c
+
+OBJECTSd = main.$O init.$O gram.$O lex.$O proc.$O equiv.$O data.$O format.$O \
+ expr.$O exec.$O intr.$O io.$O misc.$O error.$O mem.$O names.$O \
+ output.$O p1output.$O pread.$O put.$O putpcc.$O vax.$O formatdata.$O \
+ parse_args.$O niceprintf.$O cds.$O sysdep.$O version.$O
+
+MALLOC = malloc.$O
+# To use the malloc whose source accompanies the f2c source, add malloc.$O
+# to the right-hand side of the "MALLOC =" line above, so it becomes
+# MALLOC = malloc.$O
+# This gives faster execution on some systems, but some other systems do
+# not tolerate replacement of the system's malloc.
+
+OBJECTS = $OBJECTSd $MALLOC
+
+all:N: xsum.out f2c
+
+f2c: $OBJECTS
+ $CC $LDFLAGS $OBJECTS -o f2c
+
+# The following used to be a rule for gram.c rather than gram1.c, but
+# there are too many broken variants of yacc around, so now we
+# distribute a correctly function gram.c (derived with a Unix variant
+# of the yacc from plan9).
+
+gram1.c: gram.head gram.dcl gram.expr gram.exec gram.io defs.h tokdefs.h
+ ( sed <tokdefs.h "s/#define/%token/" ;\
+ cat gram.head gram.dcl gram.expr gram.exec gram.io ) >gram.in
+ $YACC $YFLAGS gram.in
+ @echo "(There should be 4 shift/reduce conflicts.)"
+ sed 's/^# line.*/\/* & *\//' y.tab.c >gram.c
+ rm -f gram.in y.tab.c
+
+$OBJECTSd: defs.h ftypes.h defines.h machdefs.h sysdep.h
+
+tokdefs.h: tokens
+ grep -n . <tokens | sed 's/([^:]*):(.*)/#define \2 \1/' >tokdefs.h
+
+cds.$O: sysdep.h
+exec.$O: p1defs.h names.h
+expr.$O: output.h niceprintf.h names.h
+format.$O: p1defs.h format.h output.h niceprintf.h names.h iob.h
+formatdata.$O: format.h output.h niceprintf.h names.h
+gram.$O: p1defs.h
+init.$O: output.h niceprintf.h iob.h
+intr.$O: names.h
+io.$O: names.h iob.h
+lex.$O : tokdefs.h p1defs.h
+main.$O: parse.h usignal.h
+mem.$O: iob.h
+names.$O: iob.h names.h output.h niceprintf.h
+niceprintf.$O: defs.h names.h output.h niceprintf.h
+output.$O: output.h niceprintf.h names.h
+p1output.$O: p1defs.h output.h niceprintf.h names.h
+parse_args.$O: parse.h
+proc.$O: tokdefs.h names.h niceprintf.h output.h p1defs.h
+put.$O: names.h pccdefs.h p1defs.h
+putpcc.$O: names.h
+vax.$O: defs.h output.h pccdefs.h
+output.h: niceprintf.h
+
+put.$O putpcc.$O: pccdefs.h
+
+f2c.t: f2c.1t
+ troff -man f2c.1t >f2c.t
+
+#f2c.1: f2c.1t
+# nroff -man f2c.1t | col -b | uniq >f2c.1
+
+clean:
+ rm -f *.$O f2c tokdefs.h f2c.t
+
+veryclean: clean
+ rm -f xsum
+
+b = Notice README cds.c data.c defines.h defs.h equiv.c error.c \
+ exec.c expr.c f2c.1 f2c.1t f2c.h format.c format.h formatdata.c \
+ ftypes.h gram.c gram.dcl gram.exec gram.expr gram.head gram.io \
+ init.c intr.c io.c iob.h lex.c machdefs.h main.c \
+ malloc.c mem.c memset.c misc.c names.c names.h niceprintf.c \
+ niceprintf.h output.c output.h p1defs.h p1output.c \
+ parse.h parse_args.c pccdefs.h pread.c proc.c put.c putpcc.c \
+ sysdep.c sysdep.h tokens usignal.h vax.c version.c xsum.c
+
+xsum: xsum.c
+ $CC $CFLAGS -o xsum xsum.c
+
+#Check validity of transmitted source...
+xsum.out: xsum $b
+ ./xsum $b >xsum1.out
+ cmp xsum0.out xsum1.out && mv xsum1.out xsum.out
+
+#On non-Unix systems that end lines with carriage-return/newline pairs,
+#use "make xsumr.out" rather than "make xsum.out". The -r flag ignores
+#carriage-return characters.
+xsumr.out: xsum $b
+ ./xsum -r $b >xsum1.out
+ cmp xsum0.out xsum1.out && mv xsum1.out xsumr.out