home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / g77-0.5.15-src.tgz / tar.out / fsf / g77 / f / Make < prev    next >
Text File  |  1996-09-28  |  11KB  |  244 lines

  1. # Makefile for GNU F77 stand-alone front end.
  2. #   Copyright (C) 1995 Free Software Foundation, Inc.
  3. #   Contributed by James Craig Burley (burley@gnu.ai.mit.edu).
  4.  
  5. #This file is part of GNU Fortran.
  6.  
  7. #GNU Fortran is free software; you can redistribute it and/or modify
  8. #it under the terms of the GNU General Public License as published by
  9. #the Free Software Foundation; either version 2, or (at your option)
  10. #any later version.
  11.  
  12. #GNU Fortran is distributed in the hope that it will be useful,
  13. #but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. #GNU General Public License for more details.
  16.  
  17. #You should have received a copy of the GNU General Public License
  18. #along with GNU Fortran; see the file COPYING.  If not, write to
  19. #the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  20.  
  21. objs=\
  22. parse.o \
  23. bad.o \
  24. bit.o \
  25. bld.o \
  26. com.o \
  27. data.o \
  28. equiv.o \
  29. expr.o \
  30. global.o \
  31. implic.o \
  32. info.o \
  33. intrin.o \
  34. lab.o \
  35. lex.o \
  36. malloc.o \
  37. name.o \
  38. proj.o \
  39. src.o \
  40. st.o \
  41. sta.o \
  42. stb.o \
  43. stc.o \
  44. std.o \
  45. ste.o \
  46. storag.o \
  47. stp.o \
  48. str.o \
  49. sts.o \
  50. stt.o \
  51. stu.o \
  52. stv.o \
  53. stw.o \
  54. symbol.o \
  55. target.o \
  56. top.o \
  57. where.o \
  58. zzz.o
  59.  
  60. # Use appropriate compiler and options. -Wall will produce complaints about
  61. # certain "fuzzy" (but hand-checked) uses of uninitialized variables, and
  62. # other annoying warnings about uses of assert if assert.h doesn't specify
  63. # it as volatile (effectively). -DNO_STDLIB is needed only on systems where
  64. # including <stdlib.h> won't work (not found or doesn't contain the good
  65. # stuff ANSI says it must).  Similarly, -DLAME_STDIO is needed only on
  66. # systems where the varying-args functions aren't prototyped and you want to
  67. # catch references to non-prototyped functions.  And -DLAME_ASSERT is needed
  68. # if the assert macro is not defined as volatile, effectively, but you
  69. # want to catch certain other warnings.  -DFFE_STANDALONE is what builds
  70. # the front end in stand-alone mode; otherwise it tries to build as GNU
  71. # Fortran (i.e. with the GNU back end).
  72.  
  73. CC=gcc
  74. CFLAGS=-O6 -g -Wall
  75.  
  76. ffe: cktyps.out $(objs)
  77.     $(CC) $(CFLAGS) -DFFE_STANDALONE -o ffe $(objs)
  78.  
  79. cktyps.out: cktyps
  80.     ./cktyps > cktyps.out
  81.  
  82. cktyps: cktyps.o proj.o
  83.     $(CC) $(CFLAGS) -DFFE_STANDALONE -o cktyps cktyps.o proj.o
  84.  
  85. # Begin results obtained from "make -f Make deps-kinda".
  86. # Note that this command uses the host C compiler; use CC="./xgcc -B./" to
  87. # use GCC in the build directory, for example.
  88.  
  89. bad.o : bad.c proj.h malloc.h bad.h bad.def where.h top.h com.h bld.h bld-op.def \
  90.   bit.h info.h info-b.def info-k.def info-w.def target.h lex.h intrin.h intrin.def \
  91.   lab.h symbol.h symbol.def equiv.h storag.h global.h name.h 
  92. bit.o : bit.c proj.h malloc.h bit.h 
  93. bld.o : bld.c proj.h malloc.h bld.h bld-op.def bit.h com.h info.h info-b.def \
  94.   info-k.def info-w.def target.h bad.h bad.def where.h top.h lex.h lab.h storag.h \
  95.   symbol.h symbol.def equiv.h global.h name.h intrin.h intrin.def 
  96. cktyps.o : cktyps.c proj.h malloc.h target.h bad.h bad.def where.h top.h info.h \
  97.   info-b.def info-k.def info-w.def lex.h 
  98. com.o : com.c proj.h malloc.h com.h bld.h bld-op.def bit.h info.h info-b.def \
  99.   info-k.def info-w.def target.h bad.h bad.def where.h top.h lex.h intrin.h intrin.def \
  100.   lab.h symbol.h symbol.def equiv.h storag.h global.h name.h expr.h implic.h src.h \
  101.   st.h 
  102. data.o : data.c proj.h malloc.h data.h bld.h bld-op.def bit.h com.h info.h info-b.def \
  103.   info-k.def info-w.def target.h bad.h bad.def where.h top.h lex.h lab.h storag.h \
  104.   symbol.h symbol.def equiv.h global.h name.h intrin.h intrin.def expr.h st.h 
  105. equiv.o : equiv.c proj.h malloc.h equiv.h bld.h bld-op.def bit.h com.h info.h \
  106.   info-b.def info-k.def info-w.def target.h bad.h bad.def where.h top.h lex.h \
  107.   lab.h storag.h symbol.h symbol.def global.h name.h intrin.h intrin.def data.h 
  108. expr.o : expr.c proj.h malloc.h expr.h bld.h bld-op.def bit.h com.h info.h info-b.def \
  109.   info-k.def info-w.def target.h bad.h bad.def where.h top.h lex.h lab.h storag.h \
  110.   symbol.h symbol.def equiv.h global.h name.h intrin.h intrin.def implic.h src.h \
  111.   st.h 
  112. fini.o : fini.c proj.h malloc.h 
  113. g77.o : g77.c config.h 
  114. global.o : global.c proj.h malloc.h global.h lex.h top.h where.h name.h symbol.h \
  115.   symbol.def bad.h bad.def bld.h bld-op.def bit.h com.h info.h info-b.def info-k.def \
  116.   info-w.def target.h lab.h storag.h intrin.h intrin.def equiv.h 
  117. implic.o : implic.c proj.h malloc.h implic.h info.h info-b.def info-k.def info-w.def \
  118.   target.h bad.h bad.def where.h top.h lex.h symbol.h symbol.def bld.h bld-op.def \
  119.   bit.h com.h lab.h storag.h intrin.h intrin.def equiv.h global.h name.h src.h 
  120. info.o : info.c proj.h malloc.h info.h info-b.def info-k.def info-w.def target.h \
  121.   bad.h bad.def where.h top.h lex.h 
  122. intrin.o : intrin.c proj.h malloc.h intrin.h intrin.def bld.h bld-op.def bit.h \
  123.   com.h info.h info-b.def info-k.def info-w.def target.h bad.h bad.def where.h \
  124.   top.h lex.h lab.h storag.h symbol.h symbol.def equiv.h global.h name.h src.h 
  125. lab.o : lab.c proj.h malloc.h lab.h com.h bld.h bld-op.def bit.h info.h info-b.def \
  126.   info-k.def info-w.def target.h bad.h bad.def where.h top.h lex.h intrin.h intrin.def \
  127.   symbol.h symbol.def equiv.h storag.h global.h name.h 
  128. lex.o : lex.c proj.h malloc.h top.h where.h bad.h bad.def lex.h src.h 
  129. malloc.o : malloc.c proj.h malloc.h 
  130. name.o : name.c proj.h malloc.h bad.h bad.def where.h top.h name.h global.h \
  131.   lex.h symbol.h symbol.def bld.h bld-op.def bit.h com.h info.h info-b.def info-k.def \
  132.   info-w.def target.h lab.h storag.h intrin.h intrin.def equiv.h src.h 
  133. parse.o : parse.c proj.h malloc.h top.h where.h com.h bld.h bld-op.def bit.h \
  134.   info.h info-b.def info-k.def info-w.def target.h bad.h bad.def lex.h intrin.h \
  135.   intrin.def lab.h symbol.h symbol.def equiv.h storag.h global.h name.h zzz.h 
  136. proj.o : proj.c proj.h malloc.h 
  137. src.o : src.c proj.h malloc.h src.h bad.h bad.def where.h top.h 
  138. st.o : st.c proj.h malloc.h st.h bad.h bad.def where.h top.h lex.h symbol.h \
  139.   symbol.def bld.h bld-op.def bit.h com.h info.h info-b.def info-k.def info-w.def \
  140.   target.h lab.h storag.h intrin.h intrin.def equiv.h global.h name.h sta.h stamp-str \
  141.   stb.h expr.h stp.h stt.h stc.h std.h stv.h stw.h ste.h sts.h stu.h 
  142. sta.o : sta.c proj.h malloc.h sta.h bad.h bad.def where.h top.h lex.h stamp-str \
  143.   symbol.h symbol.def bld.h bld-op.def bit.h com.h info.h info-b.def info-k.def \
  144.   info-w.def target.h lab.h storag.h intrin.h intrin.def equiv.h global.h name.h \
  145.   implic.h stb.h expr.h stp.h stt.h stc.h std.h stv.h stw.h 
  146. stb.o : stb.c proj.h malloc.h stb.h bad.h bad.def where.h top.h expr.h bld.h \
  147.   bld-op.def bit.h com.h info.h info-b.def info-k.def info-w.def target.h lex.h \
  148.   lab.h storag.h symbol.h symbol.def equiv.h global.h name.h intrin.h intrin.def \
  149.   stp.h stt.h stamp-str src.h sta.h stc.h 
  150. stc.o : stc.c proj.h malloc.h stc.h bad.h bad.def where.h top.h bld.h bld-op.def \
  151.   bit.h com.h info.h info-b.def info-k.def info-w.def target.h lex.h lab.h storag.h \
  152.   symbol.h symbol.def equiv.h global.h name.h intrin.h intrin.def expr.h stp.h \
  153.   stt.h stamp-str data.h implic.h src.h sta.h std.h stv.h stw.h 
  154. std.o : std.c proj.h malloc.h std.h bld.h bld-op.def bit.h com.h info.h info-b.def \
  155.   info-k.def info-w.def target.h bad.h bad.def where.h top.h lex.h lab.h storag.h \
  156.   symbol.h symbol.def equiv.h global.h name.h intrin.h intrin.def stp.h stt.h \
  157.   stamp-str stv.h stw.h sta.h ste.h sts.h 
  158. ste.o : ste.c proj.h malloc.h ste.h bld.h bld-op.def bit.h com.h info.h info-b.def \
  159.   info-k.def info-w.def target.h bad.h bad.def where.h top.h lex.h lab.h storag.h \
  160.   symbol.h symbol.def equiv.h global.h name.h intrin.h intrin.def stp.h stt.h \
  161.   stamp-str sts.h stv.h stw.h sta.h 
  162. storag.o : storag.c proj.h malloc.h storag.h bld.h bld-op.def bit.h com.h info.h \
  163.   info-b.def info-k.def info-w.def target.h bad.h bad.def where.h top.h lex.h \
  164.   lab.h symbol.h symbol.def equiv.h global.h name.h intrin.h intrin.def data.h 
  165. stp.o : stp.c proj.h malloc.h stp.h bld.h bld-op.def bit.h com.h info.h info-b.def \
  166.   info-k.def info-w.def target.h bad.h bad.def where.h top.h lex.h lab.h storag.h \
  167.   symbol.h symbol.def equiv.h global.h name.h intrin.h intrin.def stt.h 
  168. str.o : str.c proj.h malloc.h src.h bad.h bad.def where.h top.h stamp-str lex.h 
  169. sts.o : sts.c proj.h malloc.h sts.h com.h bld.h bld-op.def bit.h info.h info-b.def \
  170.   info-k.def info-w.def target.h bad.h bad.def where.h top.h lex.h intrin.h intrin.def \
  171.   lab.h symbol.h symbol.def equiv.h storag.h global.h name.h 
  172. stt.o : stt.c proj.h malloc.h stt.h top.h where.h bld.h bld-op.def bit.h com.h \
  173.   info.h info-b.def info-k.def info-w.def target.h bad.h bad.def lex.h lab.h storag.h \
  174.   symbol.h symbol.def equiv.h global.h name.h intrin.h intrin.def stp.h expr.h \
  175.   sta.h stamp-str 
  176. stu.o : stu.c proj.h malloc.h bld.h bld-op.def bit.h com.h info.h info-b.def \
  177.   info-k.def info-w.def target.h bad.h bad.def where.h top.h lex.h lab.h storag.h \
  178.   symbol.h symbol.def equiv.h global.h name.h intrin.h intrin.def implic.h stu.h \
  179.   sta.h stamp-str 
  180. stv.o : stv.c proj.h malloc.h stv.h lab.h com.h bld.h bld-op.def bit.h info.h \
  181.   info-b.def info-k.def info-w.def target.h bad.h bad.def where.h top.h lex.h \
  182.   intrin.h intrin.def symbol.h symbol.def equiv.h storag.h global.h name.h 
  183. stw.o : stw.c proj.h malloc.h stw.h bld.h bld-op.def bit.h com.h info.h info-b.def \
  184.   info-k.def info-w.def target.h bad.h bad.def where.h top.h lex.h lab.h storag.h \
  185.   symbol.h symbol.def equiv.h global.h name.h intrin.h intrin.def stv.h sta.h \
  186.   stamp-str 
  187. symbol.o : symbol.c proj.h malloc.h symbol.h symbol.def bad.h bad.def where.h \
  188.   top.h bld.h bld-op.def bit.h com.h info.h info-b.def info-k.def info-w.def target.h \
  189.   lex.h lab.h storag.h intrin.h intrin.def equiv.h global.h name.h src.h st.h 
  190. target.o : target.c proj.h malloc.h target.h bad.h bad.def where.h top.h info.h \
  191.   info-b.def info-k.def info-w.def lex.h 
  192. top.o : top.c proj.h malloc.h top.h where.h bad.h bad.def bit.h bld.h bld-op.def \
  193.   com.h info.h info-b.def info-k.def info-w.def target.h lex.h lab.h storag.h \
  194.   symbol.h symbol.def equiv.h global.h name.h intrin.h intrin.def data.h expr.h \
  195.   implic.h src.h st.h 
  196. where.o : where.c proj.h malloc.h lex.h top.h where.h 
  197. zzz.o : zzz.c proj.h malloc.h zzz.h 
  198.  
  199. # The rest of this list (Fortran 77 language-specific files) is hand-generated.
  200.  
  201. stamp-str: str-1t.h str-1t.j str-2t.h str-2t.j str-fo.h str-fo.j \
  202.  str-io.h str-io.j str-nq.h str-nq.j str-op.h str-op.j str-ot.h str-ot.j
  203.     touch stamp-str
  204.  
  205. str-1t.h str-1t.j: fini str-1t.fin
  206.     ./fini str-1t
  207.  
  208. str-2t.h str-2t.j: fini str-2t.fin
  209.     ./fini str-2t
  210.  
  211. str-fo.h str-fo.j: fini str-fo.fin
  212.     ./fini str-fo
  213.  
  214. str-io.h str-io.j: fini str-io.fin
  215.     ./fini str-io
  216.  
  217. str-nq.h str-nq.j: fini str-nq.fin
  218.     ./fini str-nq
  219.  
  220. str-op.h str-op.j: fini str-op.fin
  221.     ./fini str-op
  222.  
  223. str-ot.h str-ot.j: fini str-ot.fin
  224.     ./fini str-ot
  225.  
  226. fini: fini.o proj.o
  227.     $(CC) $(CFLAGS) -DFFE_STANDALONE -o fini fini.o proj.o
  228.  
  229. deps-kinda: str-1t.h str-1t.j str-2t.h str-2t.j \
  230.   str-fo.h str-fo.j str-io.h str-io.j str-nq.h str-nq.j \
  231.   str-op.h str-op.j str-ot.h str-ot.j
  232.     $(CC) $(CFLAGS) -DFFE_STANDALONE -DMAKING_DEPENDENCIES -MM *.c | \
  233.       sed -e 's: \([.]/\)*str[.]h : stamp-str :g'
  234.  
  235. .c.o:
  236.     $(CC) $(CFLAGS) -DFFE_STANDALONE -c $<
  237.  
  238. clean:
  239.     -rm -f ffe fini cktyps cktyps.out stamp-str *.o str-*.h str-*.j
  240.  
  241. .PHONY: clean deps-kinda
  242.  
  243. force:
  244.