home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / FORTRAN / F2C_SRC.ZIP / F2C / MAKEFILE < prev    next >
Encoding:
Text File  |  1991-06-15  |  2.8 KB  |  99 lines

  1. #    Makefile for f2c, a Fortran 77 to C converter
  2. #
  3. #       tested with MSC 5.1 and Dmake 3.7
  4.  
  5. YACC = bison
  6. YFLAGS = -y
  7.  
  8. RM = rm
  9. CC = %cl
  10. CFLAGS = -Ox -AL -c
  11.  
  12. OBJECTSd = main.obj init.obj gram.obj lex.obj proc.obj equiv.obj \
  13.         data.obj format.obj expr.obj exec.obj intr.obj io.obj misc.obj \
  14.         error.obj mem.obj names.obj output.obj p1output.obj pread.obj \
  15.         put.obj putpcc.obj vax.obj formatdata.obj \
  16.         parse_args.obj niceprintf.obj cds.obj sysdep.obj version.obj
  17.  
  18. OBJECTS = $(OBJECTSd)
  19. #malloc..obj
  20.  
  21. all: f2c
  22.  
  23. f2c: $(OBJECTS)
  24.     link @linkfile
  25.     fixstack f2c 4096
  26.     lzexe f2c
  27. #    $(CC) $(LDFLAGS) $(OBJECTS) -o f2c
  28. #    size f2c
  29.  
  30. gram.c:    gram.head gram.dcl gram.expr gram.exc gram.io defs.h tokdefs.h
  31.     sed -e `s/#define/%token/` tokdefs.h > gram.in
  32.     cat gram.head gram.dcl gram.expr gram.exc gram.io >> gram.in
  33.     $(YACC) $(YFLAGS) gram.in
  34.     @echo (expect 4 shift/reduce)
  35.     awk -f unline.awk y_tab.c >gram.c
  36.     $(RM) gram.in y_tab.c
  37.  
  38. $(OBJECTSd): defs.h ftypes.h defines.h machdefs.h sysdep.h
  39.  
  40. tokdefs.h: tokens
  41.     awk -f tokenize.awk tokens > tokdefs.h
  42. #    grep -n . <tokens | sed "s/\([^:]*\):\(.*\)/#define \2 \1/" >tokdefs.h
  43.  
  44. cds.obj: sysdep.h
  45. exec.obj: p1defs.h names.h
  46. expr.obj: output.h niceprintf.h names.h
  47. format.obj: p1defs.h format.h output.h niceprintf.h names.h iob.h
  48. formatdata.obj: format.h output.h niceprintf.h names.h
  49. gram.obj: gram.c p1defs.h
  50.     $(CC) $(CFLAGS) gram.c
  51. init.obj: output.h niceprintf.h iob.h
  52. intr.obj: names.h
  53. io.obj: names.h iob.h
  54. lex.obj : tokdefs.h p1defs.h
  55. main.obj: parse.h usignal.h
  56. mem.obj: iob.h
  57. names.obj: iob.h names.h output.h niceprintf.h
  58. niceprintf.obj: defs.h names.h output.h niceprintf.h
  59. output.obj: output.h niceprintf.h names.h
  60. p1output.obj: p1defs.h output.h niceprintf.h names.h
  61. parse_args.obj: parse.h
  62. proc.obj: tokdefs.h names.h niceprintf.h output.h p1defs.h
  63. put.obj: names.h pccdefs.h p1defs.h
  64. putpcc.obj: names.h
  65. vax.obj: defs.h output.h pccdefs.h
  66. output.h: niceprintf.h
  67.  
  68. put.obj putpcc.obj: pccdefs.h
  69.  
  70. f2c.t: f2c.1t
  71.     troff -man f2c.1t >f2c.t
  72.  
  73. f2c.1: f2c.1t
  74.     nroff -man f2c.1t | col -b | uniq >f2c.1
  75.  
  76. clean:
  77.     rm -f gram.c *.obj f2c tokdefs.h f2c.t
  78.  
  79. b = Notice README cds.c data.c defines.h defs.h equiv.c error.c \
  80.     exec.c expr.c f2c.1 f2c.1t f2c.h format.c format.h formatdata.c \
  81.     ftypes.h gram.dcl gram.exc gram.expr gram.head gram.io \
  82.     init.c intr.c io.c iob.h lex.c machdefs.h main.c makefile \
  83.     malloc.c mem.c memset.c misc.c names.c names.h niceprintf.c \
  84.     niceprintf.h output.c output.h p1defs.h p1output.c \
  85.     parse.h parse_args.c pccdefs.h pread.c proc.c put.c putpcc.c \
  86.     safstrncpy.c sysdep.c sysdep.h tokens usignal.h vax.c version.c xsum.c
  87.  
  88. bundle:
  89.     bundle $b xsum0.out >/tmp/f2c.bundle
  90.  
  91. xsum: xsum.c
  92.     $(CC) -o xsum xsum.c
  93.  
  94. #Check validity of transmitted source...
  95. xsum.out: xsum
  96.     xsum $b >xsum1.out
  97.     cmp xsum0.out xsum1.out && mv xsum1.out xsum.out
  98.  
  99.