#	Makefile for f2c, a Fortran 77 to C converter

CFLAGS = optimize data=far math=ieee nowarnvoidreturn ignore=100 ignore=161

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

OBJECTS = $(OBJECTSd) alloca.o

f2c: $(OBJECTS)
	slink < with <(f2c.lnk)
	from lib:c.o $(OBJECTS)
	to f2c
	lib lib:scmieee.lib lib:scnb.lib lib:amiga.lib
	VERBOSE
	<
	
#gram.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 "(expect 4 shift/reduce)"
#	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

alloca.o : alloca.c

cds.o: cds.c sysdep.h

exec.o: exec.c p1defs.h names.h

expr.o: expr.c output.h niceprintf.h names.h

format.o: format.c p1defs.h format.h output.h niceprintf.h names.h iob.h

formatdata.o: formatdata.c format.h output.h niceprintf.h names.h

gram.o: gram.c p1defs.h

init.o: init.c output.h niceprintf.h iob.h

intr.o: intr.c names.h

io.o: io.c names.h iob.h

lex.o : lex.c tokdefs.h p1defs.h

main.o: main.c parse.h usignal.h

misc.o : misc.c

mem.o: mem.c iob.h

names.o: names.c iob.h names.h output.h niceprintf.h

niceprintf.o: niceprintf.c defs.h names.h output.h niceprintf.h

output.o: output.c output.h niceprintf.h names.h

p1output.o: p1output.c p1defs.h output.h niceprintf.h names.h

parse_args.o: parse_args.c parse.h

proc.o: proc.c tokdefs.h names.h niceprintf.h output.h p1defs.h

put.o: put.c names.h pccdefs.h p1defs.h

putpcc.o: putpcc.c names.h

sysdep.o : sysdep.c defs.h usignal.h

vax.o: vax.c defs.h output.h pccdefs.h

#output.h: niceprintf.h

#put.o putpcc.o: pccdefs.h
