1# Microsoft Visual C++ Makefile for f2c, a Fortran 77 to C converter
2# Invoke with "nmake -f makefile.vc", or execute the commands
3#	copy makefile.vc makefile
4#	nmake .
5
6CC = cl
7CFLAGS = -Ot1 -nologo -DNO_LONG_LONG
8
9.c.obj:
10	$(CC) -c $(CFLAGS) $*.c
11
12OBJECTS = main.obj init.obj gram.obj lex.obj proc.obj equiv.obj data.obj format.obj \
13	  expr.obj exec.obj intr.obj io.obj misc.obj error.obj mem.obj names.obj \
14	  output.obj p1output.obj pread.obj put.obj putpcc.obj vax.obj formatdata.obj \
15	  parse_args.obj niceprintf.obj cds.obj sysdep.obj version.obj
16
17checkfirst: xsum.out
18
19f2c.exe: $(OBJECTS)
20	$(CC) -Fef2c.exe $(OBJECTS) setargv.obj
21
22$(OBJECTS): defs.h ftypes.h defines.h machdefs.h sysdep.h
23
24cds.obj: sysdep.h
25exec.obj: p1defs.h names.h
26expr.obj: output.h niceprintf.h names.h
27format.obj: p1defs.h format.h output.h niceprintf.h names.h iob.h
28formatdata.obj: format.h output.h niceprintf.h names.h
29gram.obj: p1defs.h
30init.obj: output.h niceprintf.h iob.h
31intr.obj: names.h
32io.obj: names.h iob.h
33lex.obj : tokdefs.h p1defs.h
34main.obj: parse.h usignal.h
35mem.obj: iob.h
36names.obj: iob.h names.h output.h niceprintf.h
37niceprintf.obj: defs.h names.h output.h niceprintf.h
38output.obj: output.h niceprintf.h names.h
39p1output.obj: p1defs.h output.h niceprintf.h names.h
40parse_args.obj: parse.h
41proc.obj: tokdefs.h names.h niceprintf.h output.h p1defs.h
42put.obj: names.h pccdefs.h p1defs.h
43putpcc.obj: names.h
44vax.obj: defs.h output.h pccdefs.h
45output.h: niceprintf.h
46
47put.obj putpcc.obj: pccdefs.h
48
49clean:
50	deltree /Y *.obj f2c.exe
51
52veryclean: clean
53	deltree /Y xsum.exe
54
55b = Notice README cds.c data.c defines.h defs.h equiv.c error.c \
56	exec.c expr.c f2c.1 f2c.1t f2c.h format.c format.h formatdata.c \
57	ftypes.h gram.c gram.dcl gram.exec gram.expr gram.head gram.io \
58	init.c intr.c io.c iob.h lex.c machdefs.h main.c makefile.u makefile.vc \
59	malloc.c mem.c memset.c misc.c names.c names.h niceprintf.c \
60	niceprintf.h output.c output.h p1defs.h p1output.c \
61	parse.h parse_args.c pccdefs.h pread.c proc.c put.c putpcc.c \
62	sysdep.c sysdep.h sysdeptest.c tokens usignal.h vax.c version.c xsum.c
63
64xsum.exe: xsum.c
65	$(CC) $(CFLAGS) -DMSDOS xsum.c
66
67#Check validity of transmitted source...
68# Unfortunately, conditional execution is hard here, since fc does not set a
69# nonzero exit code when files differ.
70
71xsum.out: xsum.exe $b
72	xsum $b >xsum1.out
73	fc xsum0.out xsum1.out
74	@echo If fc showed no differences, manually rename xsum1.out xsum.out:
75	@echo if xsum.out exists, first "del xsum.out"; then "ren xsum1.out xsum.out".
76	@echo Once you are happy that your source is OK, "nmake -f makefile.vc f2c.exe".
77