home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD2.bin / bbs / gnu / f2c-1993.04.28-src.lha / f2c-1993.04.28 / src / Makefile.in < prev    next >
Makefile  |  1994-05-02  |  4KB  |  137 lines

  1. #    Makefile for f2c, a Fortran 77 to C converter
  2.  
  3. #### Start of system configuration section. ####
  4.  
  5. VPATH = @srcdir@
  6. srcdir = @srcdir@
  7.  
  8. # Common prefix for machine-independent installed files.
  9. prefix = /gnu
  10. # Common prefix for machine-dependent installed files.
  11. exec_prefix = $(prefix)
  12.  
  13. # Directory to install executables in.
  14. bindir = $(exec_prefix)/bin
  15. # Directory to install libraries in.
  16. libdir = $(exec_prefix)/lib
  17. # Directory to install the Info files in.
  18. infodir = $(prefix)/info
  19. # Directory to install the man page in.
  20. mandir = $(prefix)/man/man$(manext)
  21. # Number to put on the man page filename.
  22. manext = 1
  23.  
  24. # Program to install executables.
  25. INSTALL_PROGRAM = @INSTALL_PROGRAM@
  26. # Program to install data like man pages.
  27. INSTALL_DATA = @INSTALL_DATA@
  28. # Generic install program.
  29. INSTALL = @INSTALL@
  30.  
  31. CC = @CC@
  32. DEFS = @DEFS@
  33. CFLAGS = @CFLAGS@
  34.  
  35. LDFLAGS = @LDFLAGS@
  36. LIBS = @LIBS@
  37.  
  38. YACC = @YACC@
  39.  
  40. SHELL = /bin/sh
  41.  
  42. #### End of system configuration section. ####
  43.  
  44. # "-I." is needed to find generated files in the build directory.
  45. .c.o:
  46.         $(CC) -c -I. -I$(srcdir) $(DEFS) $(CFLAGS) $< $(OUTPUT_OPTION)
  47.  
  48. OBJECTS =    main.o init.o gram.o lex.o proc.o equiv.o data.o format.o \
  49.         expr.o exec.o intr.o io.o misc.o error.o mem.o names.o \
  50.         output.o p1output.o pread.o put.o putpcc.o vax.o formatdata.o \
  51.         parse_args.o niceprintf.o cds.o sysdep.o version.o
  52.  
  53. all:        f2c
  54.  
  55. f2c:        $(OBJECTS)
  56.         $(CC) $(LDFLAGS) $(OBJECTS) -o f2c
  57.  
  58. gram.c:        gram.head gram.dcl gram.expr gram.exec gram.io defs.h tokdefs.h
  59.         ( sed <tokdefs.h "s/#define/%token/" ;\
  60.         cat $(srcdir)/gram.head $(srcdir)/gram.dcl $(srcdir)/gram.expr $(srcdir)/gram.exec $(srcdir)/gram.io ) >gram.in
  61.         $(YACC) $(YFLAGS) gram.in
  62.         echo "(expect 4 shift/reduce)"
  63.         sed 's/^# line.*/\/* & *\//' y.tab.c >gram.c
  64.         rm -f gram.in y.tab.c
  65.  
  66. $(OBJECTS):    defs.h ftypes.h defines.h machdefs.h sysdep.h
  67.  
  68. tokdefs.h:    tokens
  69.         grep -n . <$(srcdir)/tokens | sed "s/\([^:]*\):\(.*\)/#define \2 \1/" >tokdefs.h
  70.  
  71. install:    f2c
  72.         $(INSTALL_PROGRAM) f2c $(bindir)/f2c
  73.  
  74. cds.o:        sysdep.h
  75. exec.o:        p1defs.h names.h
  76. expr.o:        output.h niceprintf.h names.h
  77. format.o:    p1defs.h format.h output.h niceprintf.h names.h iob.h
  78. formatdata.o:    format.h output.h niceprintf.h names.h
  79. gram.o:        p1defs.h
  80. init.o:        output.h niceprintf.h iob.h
  81. intr.o:        names.h
  82. io.o:        names.h iob.h
  83. lex.o :        tokdefs.h p1defs.h
  84. main.o:        parse.h usignal.h
  85. mem.o:        iob.h
  86. names.o:    iob.h names.h output.h niceprintf.h
  87. niceprintf.o:    defs.h names.h output.h niceprintf.h
  88. output.o:    output.h niceprintf.h names.h
  89. p1output.o:    p1defs.h output.h niceprintf.h names.h
  90. parse_args.o:    parse.h
  91. proc.o:        tokdefs.h names.h niceprintf.h output.h p1defs.h
  92. put.o:        names.h pccdefs.h p1defs.h
  93. putpcc.o:    names.h
  94. vax.o:        defs.h output.h pccdefs.h
  95. output.h:    niceprintf.h
  96. put.o:        pccdefs.h
  97. putpcc.o:    pccdefs.h
  98.  
  99. f2c.t:        f2c.1t
  100.         troff -man $(srcdir)/f2c.1t >f2c.t
  101.  
  102. f2c.1:        f2c.1t
  103.         nroff -man $(srcdir)/f2c.1t | col -b | uniq >f2c.1
  104.  
  105. clean:
  106.         rm -f gram.c *.o f2c tokdefs.h f2c.t
  107.  
  108. b =        Notice README cds.c data.c defines.h defs.h equiv.c error.c \
  109.         exec.c expr.c f2c.1 f2c.1t f2c.h format.c format.h \
  110.         formatdata.c ftypes.h gram.dcl gram.exec gram.expr gram.head \
  111.         gram.io init.c intr.c io.c iob.h lex.c machdefs.h main.c \
  112.         makefile malloc.c mem.c memset.c misc.c names.c names.h \
  113.         niceprintf.c niceprintf.h output.c output.h p1defs.h \
  114.         p1output.c parse.h parse_args.c pccdefs.h pread.c proc.c put.c \
  115.         putpcc.c sysdep.c sysdep.h tokens usignal.h vax.c version.c \
  116.         xsum.c
  117.  
  118. bundle:
  119.         bundle $b xsum0.out >/tmp/f2c.bundle
  120.  
  121. xsum:        xsum.c
  122.         $(CC) -o xsum $(srcdir)/xsum.c
  123.  
  124. #Check validity of transmitted source...
  125.  
  126. xsum.out:    xsum
  127.         ./xsum $b >xsum1.out
  128.         -cmp xsum0.out xsum1.out && mv xsum1.out xsum.out
  129.  
  130. #On non-Unix systems that end lines with carriage-return/newline pairs,
  131. #use "make xsumr.out" rather than "make xsum.out".  The -r flag ignores
  132. #carriage-return characters.
  133.  
  134. xsumr.out:    xsum
  135.         ./xsum -r $b >xsum1.out
  136.         cmp xsum0.out xsum1.out && mv xsum1.out xsumr.out
  137.