Mail Archives: djgpp/1993/11/02/19:24:32
You need to make a couple of minor changes.
In f2c/libf77/s_paus.c, change the definition of pause as
follows:
...
extern int getpid(void), isatty(int);
#ifndef __GO32__
extern int pause(void);
#endif
...
In f2c/libi77/rawio.h, add the following three lines to the beginning
of the file:
#ifdef __GO32__
#undef MSDOS
#endif
...
Then change the declarations of read and write as follows:
...
extern int close(int);
#ifndef __GO32__
extern int read(int,void*,size_t), write(int,void*,size_t);
#endif
...
I use ndmake, so the makefiles must be modified to handle the
character limit on the command line under MS-DOS. I've also
chosen to make one library, libf2c.a. I execute then with
cd libf77
ndmake -f makefile.djg
cd ..\libi77
ndmake -f makefile.djg
Copies of these makefiles are tacked onto the end. I've also tacked
on my makefile for f2c/src. You need bison for the way its currently
set up. You may have to fiddle a bit if xsum gives you problems.
Also, make sure the CFLAGS option -m486 is appropriate for your
machine.
Jim
------------------- Optional Methods -----------------------
ATTN: Dr James A. Lupo COMM: (513) 255-6671, Ext 3160
WL/MPLJ Bldg 651 DSN: 785-6671, Ext 3160
3005 P St Ste 1 FAX: 5-1128
Wright-Patterson AFB OH 45433-7702 lupoja AT feynman DOT ml DOT wpafb DOT af DOT mil
(134.131.35.31)
Makefiles follow:
********************* makefile.djg for libf77 *********************
.SUFFIXES: .c .o
CC = gcc
CFLAGS = -g -O -I.. -m486
# compile, then strip unnecessary symbols
.c.o:
$(CC) -c -DSkip_f2c_Undefs $(CFLAGS) $*.c
ld -r -x -o $*.xxx $*.o
mv $*.xxx $*.o
MISC1 = Version.o main.o s_rnge.o abort_.o getarg_.o iargc_.o getenv_.o
MISC2 = signal_.o s_stop.o s_paus.o system_.o cabs.o derf_.o derfc_.o
MISC3 = erf_.o erfc_.o sig_die.o
POW = pow_ci.o pow_dd.o pow_di.o pow_hh.o pow_ii.o pow_ri.o pow_zi.o pow_zz.o
CX = c_abs.o c_cos.o c_div.o c_exp.o c_log.o c_sin.o c_sqrt.o
DCX = z_abs.o z_cos.o z_div.o z_exp.o z_log.o z_sin.o z_sqrt.o
REAL1 = r_abs.o r_acos.o r_asin.o r_atan.o r_atn2.o r_cnjg.o r_cos.o r_cosh.o
REAL2 = r_dim.o r_exp.o r_imag.o r_int.o r_lg10.o r_log.o r_mod.o r_nint.o
REAL3 = r_sign.o r_sin.o r_sinh.o r_sqrt.o r_tan.o r_tanh.o
DBL1 = d_abs.o d_acos.o d_asin.o d_atan.o d_atn2.o d_cnjg.o d_cos.o d_cosh.o
DBL2 = d_dim.o d_exp.o d_imag.o d_int.o d_lg10.o d_log.o d_mod.o d_nint.o
DBL3 = d_prod.o d_sign.o d_sin.o d_sinh.o d_sqrt.o d_tan.o d_tanh.o
INT = i_abs.o i_dim.o i_dnnt.o i_indx.o i_len.o i_mod.o i_nint.o i_sign.o
HALF = h_abs.o h_dim.o h_dnnt.o h_indx.o h_len.o h_mod.o h_nint.o h_sign.o
CMP = l_ge.o l_gt.o l_le.o l_lt.o hl_ge.o hl_gt.o hl_le.o hl_lt.o
EFL = ef1asc_.o ef1cmc_.o
CHAR = s_cat.o s_cmp.o s_copy.o
libF77.a : $(MISC1) $(MISC2) $(MISC3) $(POW) $(CX) $(DCX) $(REAL1) $(REAL2) \
$(REAL3) $(DBL1) $(DBL2) $(DBL3) $(INT) $(HALF) $(CMP) $(EFL) $(CHAR)
rm -f libF77.a
ar r libF77.a $(MISC1)
ar r ../libf2c.a $(MISC1)
ar r libF77.a $(MISC2)
ar r ../libf2c.a $(MISC2)
ar r libF77.a $(MISC3)
ar r ../libf2c.a $(MISC3)
ar r libF77.a $(POW)
ar r ../libf2c.a $(POW)
ar r libF77.a $(CX)
ar r ../libf2c.a $(CX)
ar r libF77.a $(DCX)
ar r ../libf2c.a $(DCX)
ar r libF77.a $(REAL1)
ar r ../libf2c.a $(REAL1)
ar r libF77.a $(REAL2)
ar r ../libf2c.a $(REAL2)
ar r libF77.a $(REAL3)
ar r ../libf2c.a $(REAL3)
ar r libF77.a $(DBL1)
ar r ../libf2c.a $(DBL1)
ar r libF77.a $(DBL2)
ar r ../libf2c.a $(DBL2)
ar r libF77.a $(DBL3)
ar r ../libf2c.a $(DBL3)
ar r libF77.a $(INT)
ar r ../libf2c.a $(INT)
ar r libF77.a $(HALF)
ar r ../libf2c.a $(HALF)
ar r libF77.a $(CMP)
ar r ../libf2c.a $(CMP)
ar r libF77.a $(EFL)
ar r ../libf2c.a $(EFL)
ar r libF77.a $(CHAR)
ar r ../libf2c.a $(CHAR)
ranlib libF77.a
Version.o: Version.c
$(CC) $(CFLAGS) -c Version.c
# To compile with C++, first "make f2c.h"
f2c.h: f2ch.add
cat /usr/include/f2c.h f2ch.add >f2c.h
# If your system lacks onexit() and you are not using an
# ANSI C compiler, then you should uncomment the following
# two lines (for compiling main.o):
#main.o: main.c
# $(CC) $(CFLAGS) -c -DNO_ONEXIT -DSkip_f2c_Undefs main.c
# On at least some Sun systems, it is more appropriate to
# uncomment the following two lines:
main.o: main.c
$(CC) $(CFLAGS) -c -DNO_ONEXIT -Donexit=on_exit main.c
install: libF77.a
mv libF77.a /usr/lib
clean:
rm -f libF77.a *.o
check:
xsum Notice README Version.c abort_.c c_abs.c c_cos.c c_div.c \
c_exp.c c_log.c c_sin.c c_sqrt.c cabs.c d_abs.c d_acos.c \
d_asin.c d_atan.c d_atn2.c d_cnjg.c d_cos.c d_cosh.c d_dim.c \
d_exp.c d_imag.c d_int.c d_lg10.c d_log.c d_mod.c d_nint.c \
d_prod.c d_sign.c d_sin.c d_sinh.c d_sqrt.c d_tan.c d_tanh.c \
derf_.c derfc_.c ef1asc_.c ef1cmc_.c erf_.c erfc_.c f2ch.add \
getarg_.c getenv_.c h_abs.c h_dim.c h_dnnt.c h_indx.c h_len.c \
h_mod.c h_nint.c h_sign.c hl_ge.c hl_gt.c hl_le.c hl_lt.c \
i_abs.c i_dim.c i_dnnt.c i_indx.c i_len.c i_mod.c i_nint.c \
i_sign.c iargc_.c l_ge.c l_gt.c l_le.c l_lt.c main.c makefile \
pow_ci.c pow_dd.c pow_di.c pow_hh.c pow_ii.c pow_qq.c pow_ri.c \
pow_zi.c pow_zz.c r_abs.c r_acos.c r_asin.c r_atan.c r_atn2.c \
r_cnjg.c r_cos.c r_cosh.c r_dim.c r_exp.c r_imag.c r_int.c r_lg10.c \
r_log.c r_mod.c r_nint.c r_sign.c r_sin.c r_sinh.c r_sqrt.c \
r_tan.c r_tanh.c s_cat.c s_cmp.c s_copy.c s_paus.c s_rnge.c \
s_stop.c sig_die.c signal_.c system_.c z_abs.c z_cos.c z_div.c \
z_exp.c z_log.c z_sin.c z_sqrt.c >zap
cmp zap libF77.xsum && rm zap || diff libF77.xsum zap
******************** makefile.djg for libi77 ********************
.SUFFIXES: .c .o
CC = gcc
CFLAGS = -g -I.. -O -m486
# compile, then strip unnecessary symbols
.c.o:
$(CC) -c $(CFLAGS) $*.c
ld -r -x -o $*.xxx $*.o
mv $*.xxx $*.o
OBJ1 = Version.o backspace.o close.o dfe.o dolio.o due.o endfile.o err.o
OBJ2 = fmt.o fmtlib.o iio.o ilnw.o inquire.o lread.o lwrite.o open.o
OBJ3 = rdfmt.o rewind.o rsfe.o rsli.o rsne.o sfe.o sue.o typesize.o uio.o
OBJ4 = util.o wref.o wrtfmt.o wsfe.o wsle.o wsne.o xwsne.o
libI77.a: $(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4)
rm -f libI77.a
ar r libI77.a $(OBJ1)
ar r ../libf2c.a $(OBJ1)
ar r libI77.a $(OBJ2)
ar r ../libf2c.a $(OBJ2)
ar r libI77.a $(OBJ3)
ar r ../libf2c.a $(OBJ3)
ar r libI77.a $(OBJ4)
ar r ../libf2c.a $(OBJ4)
ranlib libI77.a
install: libI77.a
cp libI77.a /usr/lib/libI77.a
ranlib /usr/lib/libI77.a
Version.o: Version.c
$(CC) -c Version.c
# To compile with C++, first "make f2c.h"
f2c.h: f2ch.add
cat /usr/include/f2c.h f2ch.add >f2c.h
clean:
rm -f *.o
clobber: clean
rm -f libI77.a
backspace.o: fio.h
close.o: fio.h
dfe.o: fio.h
dfe.o: fmt.h
due.o: fio.h
endfile.o: fio.h rawio.h
err.o: fio.h rawio.h
fmt.o: fio.h
fmt.o: fmt.h
iio.o: fio.h
iio.o: fmt.h
ilnw.o: fio.h
ilnw.o: lio.h
inquire.o: fio.h
lread.o: fio.h
lread.o: fmt.h
lread.o: lio.h
lread.o: fp.h
lwrite.o: fio.h
lwrite.o: fmt.h
lwrite.o: lio.h
open.o: fio.h rawio.h
rdfmt.o: fio.h
rdfmt.o: fmt.h
rdfmt.o: fp.h
rewind.o: fio.h
rsfe.o: fio.h
rsfe.o: fmt.h
rsli.o: fio.h
rsli.o: lio.h
rsne.o: fio.h
rsne.o: lio.h
sfe.o: fio.h
sue.o: fio.h
uio.o: fio.h
util.o: fio.h
wref.o: fio.h
wref.o: fmt.h
wref.o: fp.h
wrtfmt.o: fio.h
wrtfmt.o: fmt.h
wsfe.o: fio.h
wsfe.o: fmt.h
wsle.o: fio.h
wsle.o: fmt.h
wsle.o: lio.h
wsne.o: fio.h
wsne.o: lio.h
xwsne.o: fio.h
xwsne.o: lio.h
xwsne.o: fmt.h
check:
xsum Notice README Version.c backspace.c close.c dfe.c dolio.c \
due.c endfile.c err.c f2ch.add fio.h fmt.c fmt.h fmtlib.c fp.h \
iio.c ilnw.c inquire.c lio.h lread.c lwrite.c makefile open.c \
rawio.h rdfmt.c rewind.c rsfe.c rsli.c rsne.c sfe.c sue.c \
typesize.c uio.c util.c wref.c wrtfmt.c wsfe.c wsle.c wsne.c \
xwsne.c >zap
cmp zap libI77.xsum && rm zap || diff libI77.xsum zap
******************** makefile.djg for f2c ********************
# Makefile for f2c, a Fortran 77 to C converter
CC = gcc
CFLAGS = -g -O -m486
YACC = bison -y
OBJ1 = main.o init.o gram.o lex.o proc.o equiv.o data.o format.o
OBJ2 = expr.o exec.o intr.o io.o misc.o error.o mem.o names.o
OBJ3 = output.o p1output.o pread.o put.o putpcc.o vax.o formatdata.o
OBJ4 = parse_args.o niceprintf.o cds.o sysdep.o version.o
all: xsum.out f2c
f2c: $(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4)
echo $(OBJ1) > obj.tmp
echo $(OBJ2) >> obj.tmp
echo $(OBJ3) >> obj.tmp
echo $(OBJ4) >> obj.tmp
$(CC) @obj.tmp -o f2c
rm obj.tmp
aout2exe f2c
$(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4): defs.h ftypes.h defines.h machdefs.h sysdep.h
gram.o: gram.c
$(CC) $(CFLAGS) -c gram.c
gram.c: gram.head gram.dcl gram.expr gram.exec gram.io tokdefs.h defs.h \
p1defs.h
sed < tokdefs.h "s/#define/%token/" > gram.in
cat gram.head gram.dcl gram.expr gram.exec gram.io >> gram.in
$(YACC) $(YFLAGS) gram.in
@echo.
@echo (4 shift/reduce is normal)
@echo.
sed "s/^# line.*/\/* & *\//" y_tab.c > gram.c
rm -f gram.in y_tab.c
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 gram.c *.o f2c tokdefs.h xsum.out xsum
clobber: clean
rm -f f2c.exe xsum.exe
B1 = Notice README.unx README.djg cds.c data.c defines.h defs.h equiv.c error.c
B2 = exec.c expr.c f2c.1 f2c.1t f2c.h format.c format.h formatdata.c
B3 = ftypes.h gram.dcl gram.exec gram.expr gram.head gram.io
B4 = init.c intr.c io.c iob.h lex.c machdefs.h main.c makefile.unx makefile.djg
B5 = malloc.c mem.c memset.c misc.c names.c names.h niceprintf.c
B6 = niceprintf.h output.c output.h p1defs.h p1output.c
B7 = parse.h parse_args.c pccdefs.h pread.c proc.c put.c putpcc.c
B8 = sysdep.c sysdep.h tokens usignal.h vax.c version.c xsum.c
xsum.exe: xsum.c
$(CC) -o xsum xsum.c
aout2exe xsum
#Check validity of transmitted source...
xsum.out: xsum.exe
xsum $(B1) > xsum.out
xsum $(B2) >> xsum.out
xsum $(B3) >> xsum.out
xsum $(B4) >> xsum.out
xsum $(B5) >> xsum.out
xsum $(B6) >> xsum.out
xsum $(B7) >> xsum.out
xsum $(B8) >> xsum.out
diff xsum0.out xsum.out
Jim
------------------- Optional Methods -----------------------
ATTN: Dr James A. Lupo COMM: (513) 255-6671, Ext 3160
WL/MPLJ Bldg 651 DSN: 785-6671, Ext 3160
3005 P St Ste 1 FAX: 5-1128
Wright-Patterson AFB OH 45433-7702 lupoja AT feynman DOT ml DOT wpafb DOT af DOT mil
(134.131.35.31)
- Raw text -