home *** CD-ROM | disk | FTP | other *** search
/ Chestnut's Multimedia Mania / MM_MANIA.ISO / graphics / povsrc20 / ibmmsc.mak < prev    next >
Makefile  |  1993-02-05  |  6KB  |  168 lines

  1. # IBM Makefile for Persistence of Vision Raytracer
  2. # This file is released to the public domain.
  3. # For use with Microsoft C 6.00A (or 6.00AX) on the IBM-PC
  4.  
  5. # Note for the IBM Version:
  6. # Uses system environment variable LIB for the linker's .LIB file path.
  7. # (Example:  Set LIB=C:\LIB)  if you change this the two .LNK files will also
  8. # need to be changed as well.  The system environment variable CMODEL also
  9. # may be defined for the memory model of the compiler.  POV-Ray requires
  10. # the "Large" memory model.  (Example Set CMODEL=L)  If you don't want to
  11. # use the DOS environment variables, uncomment the following two lines:
  12.  
  13. #LIB        =\lib
  14. CMODEL      =L
  15.  
  16. # If you have MSC 6.00AX, and Extended/XMS/VCPI memory to compile in,
  17. # uncomment the following line:
  18.  
  19. #EXTMEM        =/EM                # Uncomment this line for MSC 6.00AX
  20.  
  21. CC          =cl
  22. OBJ         =obj
  23. MACHINE_OBJ    = ibm.$(OBJ)
  24.  
  25. LINKER  =link /EXEPACK /PACKC /FARC /STACK:12288
  26.  
  27. # Uncomment for 8086/8088 instruction set usage
  28. #
  29. #CFLAGS =/A$(CMODEL) $(EXTMEM) /Gmsr /FPi /H32 /c /J
  30. #
  31. # Uncomment for 80186/80268 (incl. V20) instruction set usage
  32. # Normally, you'll use this:
  33. #
  34. CFLAGS  =/A$(CMODEL) $(EXTMEM) /Gmsr2 /FPi87 /H32 /c /J /W3
  35. #
  36. # Or, try this quicker version:
  37. #
  38. #CFLAGS =/qc /A$(CMODEL) $(EXTMEM) /FPi87 /c /J /Gsr2
  39. #
  40. # If you have OS/2 to compile under, fix directory name to reflect
  41. # your configuration, and add this option to CFLAGS above...
  42. #
  43. # /B2 C:\msc\c2l.exe
  44. #
  45. # (Note this is superseded by /EM for MSC 6.00AX under DOS)
  46.  
  47. # Override MS's NMAKE implicit rules for making an .OBJ file from a
  48. # .C file.
  49. #
  50. .c.obj :
  51.     $(CC) $(CFLAGS) /Ogiltaz $*.c
  52.  
  53. # The optimization option:
  54. #
  55. # /Oaxz
  56. #
  57. # Is purported by Microsoft to produce the fastest possible code.  In fact it
  58. # will break the RGB->HSV->RGB routines in IBM.C, if using the 8087 emulator,
  59. # and, it appears to break height fields and boxes.  So, we are using:
  60. #
  61. # /Ogiltaz
  62. #
  63. # This optimization string works for IBM.C and should then have worked for ALL
  64. # files, but, somehow, it used to BREAK the compiler on certain modules! (Internal
  65. # compiler error C1001 on the old TEXTURE.C, etc.)  Oh, well...  However, with
  66. # the current IBM MSC 6.00A, and after TEXTURE.C got broken up into several sub-
  67. # files, the /Ogiltaz optimization switch seems to work for everything.  Great.
  68. # Try using /Od to disable optimization completely if you're having any strange
  69. # problems, for isolation purposes.
  70. #
  71.  
  72. POVOBJS = povray.$(OBJ) render.$(OBJ) tokenize.$(OBJ) parse.$(OBJ) \
  73.       objects.$(OBJ) spheres.$(OBJ) quadrics.$(OBJ) lighting.$(OBJ) \
  74.       express.$(OBJ) texture.$(OBJ) matrices.$(OBJ) csg.$(OBJ) bound.$(OBJ) \
  75.       hfield.$(OBJ) txttest.$(OBJ) colour.$(OBJ) ray.$(OBJ) point.$(OBJ)\
  76.       planes.$(OBJ) iff.$(OBJ) gif.$(OBJ) gifdecod.$(OBJ) blob.$(OBJ)\
  77.       triangle.$(OBJ) raw.$(OBJ) dump.$(OBJ) targa.$(OBJ) poly.$(OBJ) \
  78.       bezier.$(OBJ) vect.$(OBJ) boxes.$(OBJ) camera.$(OBJ) cones.$(OBJ) \
  79.       discs.$(OBJ) image.$(OBJ) normal.$(OBJ) pigment.$(OBJ) $(MACHINE_OBJ)
  80.  
  81. # POV-Ray - Specific Dependencies
  82. #
  83. povray.exe : $(POVOBJS)
  84.     $(LINKER) @ibmmsc.lnk
  85. #
  86. # This version uses MS-Link's overlay feature to share code space for the
  87. # parser and GIF-decoder modules, etc.  Try at your own risk!
  88. #
  89. #povray.exe : $(POVOBJS)
  90. #    $(LINKER) @ibmovl.lnk
  91.  
  92. povray.$(OBJ) : povray.c povproto.h frame.h vector.h config.h
  93.  
  94. tokenize.$(OBJ) : tokenize.c povproto.h frame.h config.h
  95.  
  96. parse.$(OBJ) : parse.c povproto.h frame.h config.h
  97.  
  98. render.$(OBJ) : render.c povproto.h frame.h vector.h config.h
  99.  
  100. image.$(OBJ) : image.c povproto.h frame.h vector.h config.h texture.h
  101.  
  102. lighting.$(OBJ) : lighting.c povproto.h frame.h vector.h config.h
  103.  
  104. camera.$(OBJ) : camera.c povproto.h frame.h vector.h config.h
  105.  
  106. express.$(OBJ) : express.c povproto.h frame.h config.h parse.h
  107.  
  108. pigment.$(OBJ) : pigment.c povproto.h frame.h vector.h config.h texture.h
  109.  
  110. texture.$(OBJ) : texture.c povproto.h frame.h vector.h config.h texture.h
  111.  
  112. txttest.$(OBJ) : txttest.c povproto.h frame.h vector.h config.h texture.h
  113.  
  114. objects.$(OBJ) : objects.c povproto.h frame.h vector.h config.h
  115.  
  116. hfield.$(OBJ) : hfield.c povproto.h frame.h vector.h config.h
  117.  
  118. spheres.$(OBJ) : spheres.c povproto.h frame.h vector.h config.h
  119.  
  120. point.$(OBJ) : point.c povproto.h frame.h vector.h config.h
  121.  
  122. planes.$(OBJ) : planes.c povproto.h frame.h vector.h config.h
  123.  
  124. boxes.$(OBJ) : boxes.c povproto.h frame.h vector.h config.h
  125.  
  126. cones.$(OBJ) : cones.c povproto.h frame.h vector.h config.h
  127.  
  128. discs.$(OBJ) : discs.c povproto.h frame.h vector.h config.h
  129.  
  130. bound.$(OBJ) : bound.c povproto.h frame.h vector.h config.h
  131.  
  132. blob.$(OBJ) : blob.c povproto.h frame.h vector.h config.h
  133.  
  134. quadrics.$(OBJ) : quadrics.c povproto.h frame.h vector.h config.h
  135.  
  136. poly.$(OBJ) : poly.c povproto.h frame.h vector.h config.h
  137.  
  138. bezier.$(OBJ) : bezier.c povproto.h frame.h vector.h config.h
  139.  
  140. vect.$(OBJ) : vect.c povproto.h frame.h config.h
  141.  
  142. matrices.$(OBJ) : matrices.c povproto.h frame.h vector.h config.h
  143.  
  144. normal.$(OBJ) : normal.c povproto.h frame.h vector.h config.h texture.h
  145.  
  146. csg.$(OBJ) : csg.c povproto.h frame.h vector.h config.h
  147.  
  148. colour.$(OBJ) : colour.c povproto.h frame.h config.h
  149.  
  150. ray.$(OBJ) : ray.c povproto.h frame.h vector.h config.h
  151.  
  152. iff.$(OBJ) : iff.c povproto.h frame.h config.h
  153.  
  154. gif.$(OBJ) : gif.c povproto.h frame.h config.h
  155.  
  156. gifdecod.$(OBJ) : gifdecod.c povproto.h frame.h config.h
  157.  
  158. raw.$(OBJ) : raw.c povproto.h frame.h config.h
  159.  
  160. dump.$(OBJ) : dump.c povproto.h frame.h config.h
  161.  
  162. targa.$(OBJ) : targa.c povproto.h frame.h config.h
  163.  
  164. triangle.$(OBJ) : triangle.c povproto.h frame.h vector.h config.h
  165.  
  166. ibm.$(OBJ) : ibm.c povproto.h frame.h config.h
  167.     $(CC) $(CFLAGS) /Ogiltaz /D__STDC__ $*.c
  168.