home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / f2csrc.zip / f2csrc / src / Makefile < prev    next >
Makefile  |  1994-07-30  |  3KB  |  121 lines

  1. #    Makefile for f2c, a Fortran 77 to C converter
  2.  
  3. #g = -g
  4. #CFLAGS = $g
  5. #SHELL = /bin/sh
  6. ##############
  7. # static libs
  8. #AR = ar
  9. #RANLIB = ar sv
  10. #A = a
  11. #O = o
  12. #CFLAGS = -s -O2 -DOS2
  13. ##############
  14. # dynamic libs
  15. AR = emxomfar
  16. RANLIB = emxomfar sv
  17. A = lib
  18. O = obj
  19. CFLAGS = -Zomf -Zmtd -s -O2 -DOS2
  20. ##############
  21. EXE = .exe
  22. .SUFFIXES:
  23. .SUFFIXES: $(EXE) .$A .$O .c .h
  24. CC = gcc -ansi
  25. ARFLAGS = rv
  26. YACC = yacc
  27. YFLAGS = -dv
  28. ##############
  29. SHELL = ksh
  30. SHELLFLAGS = -c
  31. COMMAND = "$(CMNDNAME) $(CMNDARGS)"
  32.  
  33. .c.$O:
  34.     $(CC) -c $(CFLAGS) $*.c
  35.  
  36.  
  37. OBJECTSd = main.$O init.$O gram.$O lex.$O proc.$O equiv.$O data.$O format.$O \
  38.       expr.$O exec.$O intr.$O io.$O misc.$O error.$O mem.$O names.$O \
  39.       output.$O p1output.$O pread.$O put.$O putpcc.$O vax.$O formatdata.$O \
  40.       parse_args.$O niceprintf.$O cds.$O sysdep.$O version.$O
  41. OBJECTS = $(OBJECTSd)
  42.  
  43. all: xsum.out f2c$(EXE)
  44.  
  45. f2c$(EXE): $(OBJECTS)
  46.     $(CC) $(CFLAGS) $(LDFLAGS) f2c.def $(OBJECTS) -o f2c$(EXE)
  47.  
  48. gram.c:    gram.head gram.dcl gram.expr gram.exec gram.io defs.h tokdefs.h
  49.     ( sed <tokdefs.h 's/#define/%token/' ;\
  50.         cat gram.head gram.dcl gram.expr gram.exec gram.io ) >gram.in
  51.     $(YACC) $(YFLAGS) gram.in
  52.     echo '(expect 4 shift/reduce)'
  53.     sed 's/^# line.*/\/* & *\//' y.tab.c >gram.c
  54.     rm -f gram.in y.tab.c
  55.  
  56. $(OBJECTSd): defs.h ftypes.h defines.h machdefs.h sysdep.h
  57.  
  58. tokdefs.h: tokens
  59.     grep -n . <tokens | sed 's/\([^:]*\):\(.*\)/#define \2 \1/' >tokdefs.h
  60.  
  61. cds.$O: sysdep.h
  62. exec.$O: p1defs.h names.h
  63. expr.$O: output.h niceprintf.h names.h
  64. format.$O: p1defs.h format.h output.h niceprintf.h names.h iob.h
  65. formatdata.$O: format.h output.h niceprintf.h names.h
  66. gram.$O: p1defs.h
  67. init.$O: output.h niceprintf.h iob.h
  68. intr.$O: names.h
  69. io.$O: names.h iob.h
  70. lex.$O : tokdefs.h p1defs.h
  71. main.$O: parse.h usignal.h
  72. mem.$O: iob.h
  73. names.$O: iob.h names.h output.h niceprintf.h
  74. niceprintf.$O: defs.h names.h output.h niceprintf.h
  75. output.$O: output.h niceprintf.h names.h
  76. p1output.$O: p1defs.h output.h niceprintf.h names.h
  77. parse_args.$O: parse.h
  78. proc.$O: tokdefs.h names.h niceprintf.h output.h p1defs.h
  79. put.$O: names.h pccdefs.h p1defs.h
  80. putpcc.$O: names.h
  81. vax.$O: defs.h output.h pccdefs.h
  82. output.h: niceprintf.h
  83.  
  84. put.$O putpcc.$O: pccdefs.h
  85.  
  86. f2c.t: f2c.1t
  87.     troff -man f2c.1t >f2c.t
  88.  
  89. #f2c.1: f2c.1t
  90. #    nroff -man f2c.1t | col -b | uniq >f2c.1
  91.  
  92. clean:
  93.     rm -f gram.c *.$O f2c$(EXE) tokdefs.h f2c.t
  94.  
  95. b = Notice README cds.c data.c defines.h defs.h equiv.c error.c \
  96.     exec.c expr.c f2c.1 f2c.1t f2c.h format.c format.h formatdata.c \
  97.     ftypes.h gram.dcl gram.exec gram.expr gram.head gram.io \
  98.     init.c intr.c io.c iob.h lex.c machdefs.h main.c \
  99.     malloc.c mem.c memset.c misc.c names.c names.h niceprintf.c \
  100.     niceprintf.h output.c output.h p1defs.h p1output.c \
  101.     parse.h parse_args.c pccdefs.h pread.c proc.c put.c putpcc.c \
  102.     sysdep.c sysdep.h tokens usignal.h vax.c version.c xsum.c
  103.  
  104. bundle:
  105.     bundle $b makefile xsum0.out >/tmp/f2c.bundle
  106.  
  107. xsum$(EXE): xsum.c
  108.     $(CC) $(CFLAGS) -o xsum$(EXE) xsum.c
  109.  
  110. #Check validity of transmitted source...
  111. xsum.out: xsum$(EXE) $b
  112.     xsum $b >xsum1.out
  113.     cmp xsum0.out xsum1.out && mv xsum1.out xsum.out
  114.  
  115. #On non-Unix systems that end lines with carriage-return/newline pairs,
  116. #use "make xsumr.out" rather than "make xsum.out".  The -r flag ignores
  117. #carriage-return characters.
  118. xsumr.out: xsum$(EXE) $b
  119.     xsum -r $b >xsum1.out
  120.     cmp xsum0.out xsum1.out && mv xsum1.out xsumr.out
  121.