home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / oct93 / graphics / graphtal.lha / Graphtal / Makefile.unix < prev    next >
Makefile  |  1992-11-20  |  3KB  |  148 lines

  1. # Choose the compiler you need
  2.  
  3. # Sun C++ 2.1
  4. #C++      = /usr/lang/CC-2.1
  5. #CPPFLAGS = -DYYERROR_VERBOSE -DSUPPORT_X11 
  6. #C++FLAGS = -O
  7. #LDLIBS   = -lX11 -lm
  8.  
  9. # Sun C++ 3.0
  10. #C++      = /usr/lang/CC
  11. #CPPFLAGS = -DYYERROR_VERBOSE -DSUPPORT_X11 
  12. #C++FLAGS = -O
  13. #LDLIBS   = -lX11 -lm
  14.  
  15. # Sun C++ AT&T 2.0
  16. #C++      = CC2
  17. #CPPFLAGS = -DYYERROR_VERBOSE -DSUPPORT_X11 -DOLD_STYLE_CPP
  18. #C++FLAGS = -O 
  19. #LDLIBS   = -lX11 -lm
  20.  
  21. # Sun C++ AT&T 3.0
  22. C++      = CC 
  23. CPPFLAGS = -DYYERROR_VERBOSE -DSUPPORT_X11
  24. C++FLAGS = -O
  25. LDLIBS   = -lX11 -lm
  26.  
  27. # GNU g++ 2.2.2
  28. #C++      = g++ 
  29. #CPPFLAGS = -DYYERROR_VERBOSE -DSUPPORT_X11
  30. #C++FLAGS = -O -finline-functions
  31. #LDLIBS   = -lX11 -lm
  32.  
  33. # RS/6000 AIX 3.2, C++AT&T 2.0
  34. #C++      = CC
  35. #CPPFLAGS = -DYYERROR_VERBOSE -DSUPPORT_X11 -DOLD_STYLE_CPP 
  36. #C++FLAGS = -O
  37. #LDLIBS   = -lX11 -lm
  38.  
  39. # DEC C++ 1.0
  40. #C++      = cxx
  41. #CPPFLAGS = -DSUPPORT_X11
  42. #C++FLAGS = -O
  43. #LDLIBS   = -lX11 -lm
  44.  
  45. # DEC & g++ 2.2.2. You may need to compile yacc.C without the -O option.
  46. #C++      = g++
  47. #CPPFLAGS = -DYYERROR_VERBOSE -DSUPPORT_X11 -D__DECCXX
  48. #C++FLAGS = -O
  49. #LDLIBS   = -lX11 -lm
  50.  
  51. DEPEND   = mkdep
  52. TARGET   = graphtal
  53. PURIFY   = purify
  54. YACC     = bison
  55. YFLAGS   = -dt
  56. LEX      = flex
  57. LFLAGS   = -t
  58.  
  59. OTHERS = \
  60.     X11_Window_icon rgb2rayshade.awk \
  61.     colors.def colors.ray.def \
  62.     graphtal.1 graphtal.cat mkdep \
  63.     COPYRIGHT MANIFEST README \
  64.     globals.h mathutilities.h boolean.h table.h \
  65.     Primitives.h
  66.  
  67. GENSRCS = \
  68.     yacc.C lex.C
  69. NOHDR = \
  70.     main.C
  71. SRCS =     \
  72.     Hull.C Ray.C transform.C \
  73.     Sphere.C Polygon.C Triangle.C Plane.C \
  74.     Cone.C Cylinder.C \
  75.     BaseWindow.C X11_Window.C \
  76.     BBoxDevice.C Z_Buffer.C \
  77.     LineDevice.C WireDevice.C FlatDevice.C ExampleDevice.C \
  78.     Value.C Expression.C ExprItems.C Hash.C Color.C \
  79.     Options.C DeviceDriver.C ViewTransform.C \
  80.     Vector.C TransMatrix.C Turtle.C Interpreter.C \
  81.     GeoObject.C \
  82.     RayshadeDevice.C Error.C BoundingBox.C \
  83.     ValueStack.C yyerror.C \
  84.     LSystem.C Name.C Module.C \
  85.     Predecessor.C Successor.C Production.C \
  86.     list.C rcString.C 
  87.  
  88. OBJS     = $(GENSRCS:.C=.o) $(SRCS:.C=.o) $(NOHDR:.C=.o)
  89. HEADERS  = $(SRCS:.C=.h)
  90. TARFILES = \
  91.     $(SRCS:%=graphtal/%) \
  92.     $(HEADERS:%=graphtal/%) \
  93.     $(NOHDR:%=graphtal/%) \
  94.     $(OTHERS:%=graphtal/%)
  95.  
  96. #_________________________________________________________________ production
  97.  
  98. .SUFFIXES:    .C
  99.  
  100. $(TARGET): $(OBJS)
  101.     $(C++) $(C++FLAGS) $(OBJS) -o $(TARGET) $(LDLIBS)
  102.  
  103. purify: $(OBJS)
  104.     $(PURIFY) $(C++) $(C++FLAGS) $(OBJS) -o $(TARGET) $(LDLIBS)
  105.      
  106. .C.o:
  107.     $(C++) -c $(CPPFLAGS) $(C++FLAGS) $< -o $@
  108.  
  109. #________________________________________________________________ housekeeping
  110.  
  111. clean:
  112.     rm -f *~ $(OBJS) $(TARGET)
  113.  
  114. wc:    
  115.     wc yacc.y lex.l $(SRCS) $(HEADERS) $(OTHERS) Makefile
  116.  
  117. tar:
  118.     { cd .. ; \
  119.       tar cvf graphtal.tar $(TARFILES) graphtal/lex.l \
  120.         graphtal/yacc.y graphtal/Makefile \
  121.         graphtal/Examples/* ;\
  122.     }
  123.  
  124. tar2:
  125.     { cp Makefile Makefile.tmp ; \
  126.       cp Makefile2 Makefile ; \
  127.       cd .. ; \
  128.       tar cvf graphtal_no_bison_no_flex.tar $(TARFILES) \
  129.         graphtal/lex.C graphtal/yacc.tab.h \
  130.         graphtal/yacc.C graphtal/Makefile \
  131.         graphtal/Examples/* ;\
  132.       cd graphtal ; \
  133.       mv Makefile.tmp Makefile ;\
  134.     }
  135.  
  136. #    generate a list  of module dependencies, based on #include
  137. #    and append them at the end of this Makefile.
  138. depend:
  139.     (sed '/^# DO NOT DELETE THIS LINE/q' Makefile && \
  140.      $(DEPEND) yacc.C lex.C $(SRCS) $(NOHDR) | \
  141.         sed 's/: \.\//: /; /\/usr\/include/d' \
  142.     ) >Makefile.new
  143.     cp Makefile Makefile.bak
  144.     cp Makefile.new Makefile
  145.     rm -f Makefile.new
  146.  
  147. # DO NOT DELETE THIS LINE
  148.