home *** CD-ROM | disk | FTP | other *** search
/ Photo CD Demo 1 / Demo.bin / graphtal / makefile < prev    next >
Makefile  |  1992-11-03  |  3KB  |  142 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. # RS/6000 AIX 3.2, C++AT&T 2.0
  28. #C++      = CC
  29. #CPPFLAGS = -DYYERROR_VERBOSE -DSUPPORT_X11 -DOLD_STYLE_CPP 
  30. #C++FLAGS = -O
  31. #LDLIBS   = -lX11 -lm
  32.  
  33. # DEC C++ 1.0
  34. #C++      = cxx
  35. #CPPFLAGS = -DSUPPORT_X11
  36. #C++FLAGS = -O
  37. #LDLIBS   = -lX11 -lm
  38.  
  39. DEPEND   = mkdep
  40. TARGET   = graphtal
  41. PURIFY   = purify
  42. YACC     = bison
  43. YFLAGS   = -dt
  44. LEX      = flex
  45. LFLAGS   = -t
  46.  
  47. OTHERS = \
  48.     X11_Window_icon rgb2rayshade.awk \
  49.     colors.def colors.ray.def graphtal.1 mkdep \
  50.     COPYRIGHT MANIFEST README \
  51.     Globals.h boolean.h table.h    \
  52.     Primitives.h
  53.  
  54. GENSRCS = \
  55.     yacc.C lex.C
  56. NOHDR = \
  57.     main.C
  58. SRCS =     \
  59.     Hull.C Ray.C transform.C \
  60.     Sphere.C Polygon.C Triangle.C Plane.C \
  61.     Cone.C Cylinder.C \
  62.     BaseWindow.C X11_Window.C \
  63.     BBoxDevice.C Z_Buffer.C \
  64.     LineDevice.C WireDevice.C FlatDevice.C ExampleDevice.C \
  65.     Value.C Expression.C ExprItems.C Hash.C Color.C \
  66.     Options.C DeviceDriver.C ViewTransform.C \
  67.     Vector.C TransMatrix.C Turtle.C Interpreter.C \
  68.     GeoObject.C \
  69.     RayshadeDevice.C Error.C BoundingBox.C \
  70.     ValueStack.C yyerror.C \
  71.     LSystem.C Name.C Module.C Production.C list.C rcString.C 
  72.  
  73. OBJS     = $(GENSRCS:.C=.o) $(SRCS:.C=.o) $(NOHDR:.C=.o)
  74. HEADERS  = $(SRCS:.C=.h)
  75. TARFILES = \
  76.     $(SRCS:%=graphtal/%) \
  77.     $(HEADERS:%=graphtal/%) \
  78.     $(NOHDR:%=graphtal/%) \
  79.     $(OTHERS:%=graphtal/%)
  80.  
  81. #_________________________________________________________________ production
  82.  
  83. .SUFFIXES:    .C
  84.  
  85. $(TARGET): $(OBJS)
  86.     $(C++) $(C++FLAGS) $(OBJS) -o $(TARGET) $(LDLIBS)
  87.  
  88. purify: $(OBJS)
  89.     $(PURIFY) $(C++) $(C++FLAGS) $(OBJS) -o $(TARGET) $(LDLIBS)
  90.      
  91. .C.o:
  92.     $(C++) -c $(CPPFLAGS) $(C++FLAGS) $< -o $@
  93.  
  94. .y.o:   
  95.     $(YACC) $(YFLAGS) $<
  96.     mv yacc.tab.c $*.C
  97.     $(C++) -c $(CPPFLAGS) $(C++FLAGS) $*.C
  98.     
  99. .l.o:
  100.     $(LEX) $(LFLAGS) $< > $*.C
  101.     $(C++) -c $(CPPFLAGS) $(C++FLAGS) $*.C
  102.  
  103. #________________________________________________________________ housekeeping
  104.  
  105. clean:
  106.     rm -f *~ $(OBJS) yacc.C yacc.tab.h lex.C $(TARGET)
  107.  
  108. wc:    
  109.     wc yacc.y lex.l $(SRCS) $(HEADERS) $(OTHERS) Makefile
  110.  
  111. tar:
  112.     { cd .. ; \
  113.       tar cvf graphtal.tar $(TARFILES) graphtal/lex.l \
  114.         graphtal/yacc.y graphtal/Makefile \
  115.         graphtal/Examples/* ;\
  116.     }
  117.  
  118. tar2:
  119.     { cp Makefile Makefile.tmp ; \
  120.       cp Makefile2 Makefile ; \
  121.       cd .. ; \
  122.       tar cvf graphtal_no_bison_no_flex.tar $(TARFILES) \
  123.         graphtal/lex.C graphtal/yacc.tab.h \
  124.         graphtal/yacc.C graphtal/Makefile \
  125.         graphtal/Examples/* ;\
  126.       cd graphtal ; \
  127.       mv Makefile.tmp Makefile ;\
  128.     }
  129.  
  130. #    generate a list  of module dependencies, based on #include
  131. #    and append them at the end of this Makefile.
  132. depend:
  133.     (sed '/^# DO NOT DELETE THIS LINE/q' Makefile && \
  134.      $(DEPEND) yacc.y lex.l $(SRCS) $(NOHDR) | \
  135.         sed 's/: \.\//: /; /\/usr\/include/d' \
  136.     ) >Makefile.new
  137.     cp Makefile Makefile.bak
  138.     cp Makefile.new Makefile
  139.     rm -f Makefile.new
  140.  
  141. # DO NOT DELETE THIS LINE
  142.