home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / f2c / src / lmkfile < prev    next >
Text File  |  2000-06-20  |  3KB  |  113 lines

  1. #    Makefile for f2c, a Fortran 77 to C converter
  2.  
  3. CFLAGS = -fi -b0 -d_AMIGA=1 -ca -O
  4.  
  5. #SHELL = /bin/sh
  6.  
  7. OBJECTSd = main.o init.o gram.o lex.o proc.o equiv.o data.o format.o \
  8.       expr.o exec.o intr.o io.o misc.o error.o mem.o names.o \
  9.       output.o p1output.o pread.o put.o putpcc.o vax.o formatdata.o \
  10.       parse_args.o niceprintf.o cds.o sysdep.o version.o
  11. OBJECTS = $(OBJECTSd) malloc.o
  12.  
  13. all: xsum.out f2c
  14.  
  15. f2c: $(OBJECTSd)
  16.     blink < with <(f2c.lnk)
  17.     from lib:c.o $(OBJECTSd)
  18.     to f2c
  19.     lib lib:lcmieee.lib lib:lcnb.lib lib:amiga.lib
  20.     VERBOSE
  21.     <
  22.     
  23. #    $(CC) $(LDFLAGS) $(OBJECTS) -o f2c
  24. #    size f2c
  25.  
  26. #gram.c:    gram.head gram.dcl gram.expr gram.exec gram.io defs.h tokdefs.h
  27. #    ( sed <tokdefs.h "s/#define/%token/" ;\
  28. #        cat gram.head gram.dcl gram.expr gram.exec gram.io ) >gram.in
  29. #    $(YACC) $(YFLAGS) gram.in
  30. #    echo "(expect 4 shift/reduce)"
  31. #    sed 's/^# line.*/\/* & *\//' y.tab.c >gram.c
  32. #    rm -f gram.in y.tab.c
  33.  
  34. #$(OBJECTSd): defs.h ftypes.h defines.h machdefs.h sysdep.h
  35.  
  36. #tokdefs.h: tokens
  37. #    grep -n . <tokens | sed "s/\([^:]*\):\(.*\)/#define \2 \1/" >tokdefs.h
  38.  
  39. cds.o: cds.c sysdep.h
  40.  
  41. exec.o: exec.c p1defs.h names.h
  42.  
  43. expr.o: expr.c output.h niceprintf.h names.h
  44.  
  45. format.o: format.c p1defs.h format.h output.h niceprintf.h names.h iob.h
  46.  
  47. formatdata.o: formatdata.c format.h output.h niceprintf.h names.h
  48.  
  49. gram.o: gram.c p1defs.h
  50.  
  51. init.o: init.c output.h niceprintf.h iob.h
  52.  
  53. intr.o: intr.c names.h
  54.  
  55. io.o: io.c names.h iob.h
  56.  
  57. lex.o : lex.c tokdefs.h p1defs.h
  58.  
  59. main.o: main.c parse.h usignal.h
  60.  
  61. mem.o: mem.c iob.h
  62.  
  63. names.o: names.c iob.h names.h output.h niceprintf.h
  64.  
  65. niceprintf.o: niceprintf.c defs.h names.h output.h niceprintf.h
  66.  
  67. output.o: output.c output.h niceprintf.h names.h
  68.  
  69. p1output.o: p1output.c p1defs.h output.h niceprintf.h names.h
  70.  
  71. parse_args.o: parse_args.c parse.h
  72.  
  73. proc.o: proc.c tokdefs.h names.h niceprintf.h output.h p1defs.h
  74.  
  75. put.o: put.c names.h pccdefs.h p1defs.h
  76.  
  77. putpcc.o: putpcc.c names.h
  78.  
  79. vax.o: vax.c defs.h output.h pccdefs.h
  80.  
  81. #output.h: niceprintf.h
  82.  
  83. #put.o putpcc.o: pccdefs.h
  84.  
  85. f2c.t: f2c.1t
  86.     troff -man f2c.1t >f2c.t
  87.  
  88. f2c.1: f2c.1t
  89.     nroff -man f2c.1t | col -b | uniq >f2c.1
  90.  
  91. clean:
  92.     rm -f gram.c *.o f2c tokdefs.h f2c.t
  93.  
  94. b = Notice README cds.c data.c defines.h defs.h equiv.c error.c \
  95.     exec.c expr.c f2c.1 f2c.1t f2c.h format.c format.h formatdata.c \
  96.     ftypes.h gram.dcl gram.exec gram.expr gram.head gram.io \
  97.     init.c intr.c io.c iob.h lex.c machdefs.h main.c makefile \
  98.     malloc.c mem.c memset.c misc.c names.c names.h niceprintf.c \
  99.     niceprintf.h output.c output.h p1defs.h p1output.c \
  100.     parse.h parse_args.c pccdefs.h pread.c proc.c put.c putpcc.c \
  101.     sysdep.c sysdep.h tokens usignal.h vax.c version.c xsum.c
  102.  
  103. bundle:
  104.     bundle $b xsum0.out >/tmp/f2c.bundle
  105.  
  106. xsum: xsum.c
  107.     $(CC) -o xsum xsum.c
  108.  
  109. #Check validity of transmitted source...
  110. xsum.out: xsum
  111.     ./xsum $b >xsum1.out
  112.     cmp xsum0.out xsum1.out && mv xsum1.out xsum.out
  113.