Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

223 lines
7.4 KiB

  1. #! smake
  2. include $(ROOT)/usr/include/make/commondefs
  3. TARGETS ?= $(T1)
  4. T1 = libtess.a
  5. # Compilation flags:
  6. #
  7. # -DNDEBUG is for the production code; it removes all assertion checks
  8. # (note that <assert.h> looks at this symbol).
  9. #
  10. # -DNO_MALLOPT uses regular malloc instead of the mallopt() version.
  11. # ***** Unless you use this flag, you must use "-lmalloc" to link
  12. # ***** your application!
  13. #
  14. # -DMEMORY_DEBUG turns on the M_DEBUG option of mallopt; this can
  15. # increase the running time a LOT.
  16. #
  17. # -DGLU_TESS_API_FLOAT compiles a single-precision version of the library.
  18. #
  19. # -float prevents automatic promotion to double precision; this will produce
  20. # faster code when compiled with -DGLU_TESS_API_FLOAT.
  21. #
  22. # -DNO_BRANCH_CONDITIONS uses & and | instead of && and || on a couple
  23. # of heavily-used tests (VertEq and VertLeq); some compilers can generate
  24. # better code with these (use special instructions to avoid branching).
  25. #
  26. # -DDEBUG is *only* for use with the test program called "trite". It uses
  27. # some variables which are defined by the test program, so you won't
  28. # be able to link it with anything else.
  29. #
  30. LCOPTS = -float -O2 -DNDEBUG
  31. LCDEFS =
  32. LCINCS = -I.
  33. # Also, there are several build options which are controlled by making
  34. # symbolic links rather than with flags. There is a script called
  35. # "configtess" which will change these links if you want to experiment.
  36. # The choices are:
  37. #
  38. # configtess memalloc simple
  39. # Uses regular malloc() and free() for memory allocation.
  40. # configtess memalloc fast # default
  41. # Uses a much faster block-based allocator.
  42. # configtess priorityq heap
  43. # Uses a heap for the priority queue implementation.
  44. # configtess priorityq sort # default
  45. # Quicksorts the initial vertices, uses a heap for the rest.
  46. #
  47. # Currently there is only one implementation for the following modules,
  48. # but the API was designed with multiple choices in mind:
  49. #
  50. # configtess dict list
  51. # A dynamic dictionary based on doubly-linked lists.
  52. # configtess normal simple
  53. # Approximates the normal from 3 widely separated vertices.
  54. #
  55. DFILES = \
  56. Makefile \
  57. $(NULL)
  58. HFILES = \
  59. tesselator.h \
  60. dict.h \
  61. geom.h \
  62. mesh.h \
  63. memalloc.h \
  64. normal.h \
  65. priorityq.h \
  66. render.h \
  67. sweep.h \
  68. tess.h \
  69. tessmono.h \
  70. $(NULL)
  71. CFILES = \
  72. dict.c \
  73. geom.c \
  74. mesh.c \
  75. memalloc.c \
  76. normal.c \
  77. priorityq.c \
  78. render.c \
  79. sweep.c \
  80. tess.c \
  81. tessmono.c \
  82. $(NULL)
  83. LINKEDFILES = \
  84. dict.h \
  85. dict.c \
  86. normal.h \
  87. normal.c \
  88. memalloc.h \
  89. memalloc.c \
  90. priorityq.h \
  91. priorityq.c \
  92. $(NULL)
  93. ALLFILES = \
  94. $(DFILES) \
  95. $(HFILES) \
  96. $(CFILES) \
  97. $(NULL)
  98. default: $(TARGETS)
  99. $(_FORCE):
  100. lint: $(CFILES)
  101. $(LINT) -u -x $(CFILES)
  102. clobber: clean
  103. rm -rf $(MKDEPFILE) $(TARGETS)
  104. rm -rf $(LINKEDFILES)
  105. clean: $(_FORCE)
  106. -csh -fc "rm -f $(DIRT) >& /dev/null"
  107. $(T1): $(OBJECTS) Makefile
  108. rm -f $@
  109. $(AR) crl $@ $(OBJECTS)
  110. # These are the defaults for the modules which can be configured
  111. # with "configtess".
  112. normal.h: normal-simple.h
  113. ln -s normal-simple.h normal.h
  114. dict.h: dict-list.h
  115. ln -s dict-list.h dict.h
  116. memalloc.h: memalloc-fast.h
  117. ln -s memalloc-fast.h memalloc.h
  118. priorityq.h: priorityq-sort.h
  119. ln -s priorityq-sort.h priorityq.h
  120. normal.c: normal-simple.c
  121. ln -s normal-simple.c normal.c
  122. dict.c: dict-list.c
  123. ln -s dict-list.c dict.c
  124. memalloc.c: memalloc-fast.c
  125. ln -s memalloc-fast.c memalloc.c
  126. priorityq.c: priorityq-sort.c
  127. ln -s priorityq-sort.c priorityq.c
  128. #include $(ROOT)/usr/include/make/commonrules
  129. # DO NOT DELETE THIS LINE -- make depend depends on it.
  130. geom.o: mesh.h tesselator.h /usr/include/stddef.h /usr/include/sgidefs.h
  131. geom.o: /usr/include/GL/gl.h
  132. memalloc-fast.o: /usr/include/malloc.h
  133. memalloc-simple.o: /usr/include/malloc.h
  134. memalloc.o: /usr/include/malloc.h
  135. mesh.o: tesselator.h /usr/include/stddef.h /usr/include/sgidefs.h
  136. mesh.o: /usr/include/GL/gl.h
  137. normal-simple.o: tess.h tesselator.h /usr/include/stddef.h
  138. normal-simple.o: /usr/include/sgidefs.h /usr/include/GL/gl.h mesh.h dict.h
  139. normal-simple.o: priorityq.h priorityq-heap.h
  140. normal.o: tess.h tesselator.h /usr/include/stddef.h /usr/include/sgidefs.h
  141. normal.o: /usr/include/GL/gl.h mesh.h dict.h priorityq.h priorityq-heap.h
  142. priorityq-sort.o: priorityq-heap.h
  143. priorityq.o: priorityq-heap.h
  144. render.o: mesh.h tesselator.h /usr/include/stddef.h /usr/include/sgidefs.h
  145. render.o: /usr/include/GL/gl.h
  146. sweep.o: mesh.h tesselator.h /usr/include/stddef.h /usr/include/sgidefs.h
  147. sweep.o: /usr/include/GL/gl.h dict.h
  148. tess.o: tesselator.h /usr/include/stddef.h /usr/include/sgidefs.h
  149. tess.o: /usr/include/GL/gl.h mesh.h dict.h priorityq.h priorityq-heap.h
  150. tesselator.o: /usr/include/stddef.h /usr/include/sgidefs.h
  151. tesselator.o: /usr/include/GL/gl.h
  152. dict-list.o: /usr/include/stddef.h /usr/include/sgidefs.h dict-list.h
  153. dict-list.o: memalloc.h /usr/include/malloc.h
  154. dict.o: /usr/include/stddef.h /usr/include/sgidefs.h dict-list.h memalloc.h
  155. dict.o: /usr/include/malloc.h
  156. geom.o: /usr/include/assert.h mesh.h tesselator.h /usr/include/stddef.h
  157. geom.o: /usr/include/sgidefs.h /usr/include/GL/gl.h geom.h
  158. memalloc-fast.o: memalloc.h /usr/include/malloc.h
  159. memalloc-simple.o: memalloc.h /usr/include/malloc.h /usr/include/string.h
  160. memalloc.o: memalloc.h /usr/include/malloc.h
  161. mesh.o: /usr/include/assert.h mesh.h tesselator.h /usr/include/stddef.h
  162. mesh.o: /usr/include/sgidefs.h /usr/include/GL/gl.h memalloc.h
  163. mesh.o: /usr/include/malloc.h
  164. normal-simple.o: mesh.h tesselator.h /usr/include/stddef.h
  165. normal-simple.o: /usr/include/sgidefs.h /usr/include/GL/gl.h tess.h dict.h
  166. normal-simple.o: priorityq.h priorityq-heap.h normal.h /usr/include/math.h
  167. normal-simple.o: /usr/include/assert.h
  168. normal.o: mesh.h tesselator.h /usr/include/stddef.h /usr/include/sgidefs.h
  169. normal.o: /usr/include/GL/gl.h tess.h dict.h priorityq.h priorityq-heap.h
  170. normal.o: normal.h /usr/include/math.h /usr/include/assert.h
  171. oldstuff.o: /usr/include/float.h
  172. priorityq-heap.o: /usr/include/stddef.h /usr/include/sgidefs.h
  173. priorityq-heap.o: /usr/include/assert.h priorityq-heap.h memalloc.h
  174. priorityq-heap.o: /usr/include/malloc.h geom.h mesh.h tesselator.h
  175. priorityq-heap.o: /usr/include/GL/gl.h
  176. priorityq-sort.o: /usr/include/stddef.h /usr/include/sgidefs.h
  177. priorityq-sort.o: /usr/include/assert.h memalloc.h /usr/include/malloc.h
  178. priorityq-sort.o: priorityq-heap.c priorityq-heap.h geom.h mesh.h
  179. priorityq-sort.o: tesselator.h /usr/include/GL/gl.h priorityq-sort.h
  180. priorityq.o: /usr/include/stddef.h /usr/include/sgidefs.h
  181. priorityq.o: /usr/include/assert.h memalloc.h /usr/include/malloc.h
  182. priorityq.o: priorityq-heap.c priorityq-heap.h geom.h mesh.h tesselator.h
  183. priorityq.o: /usr/include/GL/gl.h priorityq-sort.h
  184. render.o: /usr/include/assert.h mesh.h tesselator.h /usr/include/stddef.h
  185. render.o: /usr/include/sgidefs.h /usr/include/GL/gl.h tess.h dict.h
  186. render.o: priorityq.h priorityq-heap.h render.h
  187. stack.o: stack.h memalloc.h /usr/include/malloc.h
  188. sweep.o: /usr/include/assert.h mesh.h tesselator.h /usr/include/stddef.h
  189. sweep.o: /usr/include/sgidefs.h /usr/include/GL/gl.h geom.h tess.h dict.h
  190. sweep.o: priorityq.h priorityq-heap.h memalloc.h /usr/include/malloc.h
  191. sweep.o: sweep.h
  192. tess.o: memalloc.h /usr/include/malloc.h tess.h tesselator.h
  193. tess.o: /usr/include/stddef.h /usr/include/sgidefs.h /usr/include/GL/gl.h
  194. tess.o: mesh.h dict.h priorityq.h priorityq-heap.h normal.h sweep.h
  195. tess.o: tessmono.h render.h
  196. tessmono.o: geom.h mesh.h tesselator.h /usr/include/stddef.h
  197. tessmono.o: /usr/include/sgidefs.h /usr/include/GL/gl.h tessmono.h
  198. tessmono.o: /usr/include/assert.h