Clone of mesa.
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.

Makefile 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374
  1. # Top-level Mesa makefile
  2. TOP = .
  3. SUBDIRS = src progs
  4. default: $(TOP)/configs/current
  5. @for dir in $(SUBDIRS) ; do \
  6. (cd $$dir ; $(MAKE)) || exit 1 ; \
  7. done
  8. doxygen:
  9. (cd doxygen ; make) ; \
  10. clean:
  11. @for dir in $(SUBDIRS) ; do \
  12. (cd $$dir ; $(MAKE) clean) ; \
  13. done
  14. realclean:
  15. touch $(TOP)/configs/current
  16. $(MAKE) clean
  17. -rm -rf lib*
  18. -rm -f $(TOP)/configs/current
  19. install:
  20. @echo "Installing"
  21. $(TOP)/bin/installmesa
  22. # If there's no current configuration file
  23. $(TOP)/configs/current:
  24. @echo
  25. @echo
  26. @echo "Please choose a configuration from the following list:"
  27. @ls -1 $(TOP)/configs | grep -v "current\|default\|CVS"
  28. @echo
  29. @echo "Then type 'make <config>' (ex: 'make linux-x86')"
  30. @echo "(ignore the following error message)"
  31. @exit 1
  32. # Rules to set/install a specific build configuration
  33. aix \
  34. aix-gcc \
  35. aix-static \
  36. beos \
  37. darwin \
  38. darwin-static \
  39. freebsd \
  40. hpux10 \
  41. hpux10-gcc \
  42. hpux10-static \
  43. hpux11-32-static \
  44. hpux11-32-static-nothreads \
  45. hpux11-64-static \
  46. hpux9 \
  47. hpux9-gcc \
  48. irix6-64 \
  49. irix6-64-static \
  50. irix6-n32 \
  51. irix6-n32-static \
  52. irix6-o32 \
  53. irix6-o32-static \
  54. linux \
  55. linux-alpha \
  56. linux-alpha-static \
  57. linux-debug \
  58. linux-dri \
  59. linux-dri-x86 \
  60. linux-dri-x86-64 \
  61. linux-glide \
  62. linux-icc \
  63. linux-icc-static \
  64. linux-osmesa16 \
  65. linux-osmesa16-static \
  66. linux-osmesa32 \
  67. linux-ppc \
  68. linux-ppc-static \
  69. linux-solo \
  70. linux-solo-x86 \
  71. linux-solo-ia64 \
  72. linux-sparc \
  73. linux-sparc5 \
  74. linux-static \
  75. linux-ultrasparc \
  76. linux-tcc \
  77. linux-x86 \
  78. linux-x86-debug \
  79. linux-x86-64 \
  80. linux-x86-64-static \
  81. linux-x86-glide \
  82. linux-x86-static \
  83. netbsd \
  84. openbsd \
  85. osf1 \
  86. solaris-x86 \
  87. solaris-x86-gcc \
  88. sunos4 \
  89. sunos4-gcc \
  90. sunos4-static \
  91. sunos5 \
  92. sunos5-gcc \
  93. sunos5-smp \
  94. ultrix-gcc:
  95. (cd configs && rm -f current && ln -s $@ current)
  96. $(MAKE) default
  97. # Rules for making release tarballs
  98. DIRECTORY = Mesa-6.2
  99. LIB_NAME = MesaLib-6.2
  100. DEMO_NAME = MesaDemos-6.2
  101. LIB_FILES = \
  102. $(DIRECTORY)/Makefile* \
  103. $(DIRECTORY)/descrip.mms \
  104. $(DIRECTORY)/mms-config. \
  105. $(DIRECTORY)/Mesa.dsw \
  106. $(DIRECTORY)/bin/mklib \
  107. $(DIRECTORY)/bin/installmesa \
  108. $(DIRECTORY)/configs/[a-z]* \
  109. $(DIRECTORY)/docs/*.html \
  110. $(DIRECTORY)/docs/COPYING \
  111. $(DIRECTORY)/docs/INSTALL.GNU \
  112. $(DIRECTORY)/docs/README.* \
  113. $(DIRECTORY)/docs/RELNOTES* \
  114. $(DIRECTORY)/docs/VERSIONS \
  115. $(DIRECTORY)/docs/*.spec \
  116. $(DIRECTORY)/include/GL/internal/glcore.h \
  117. $(DIRECTORY)/include/GL/dmesa.h \
  118. $(DIRECTORY)/include/GL/amesa.h \
  119. $(DIRECTORY)/include/GL/fxmesa.h \
  120. $(DIRECTORY)/include/GL/ggimesa.h \
  121. $(DIRECTORY)/include/GL/gl.h \
  122. $(DIRECTORY)/include/GL/glext.h \
  123. $(DIRECTORY)/include/GL/gl_mangle.h \
  124. $(DIRECTORY)/include/GL/glu.h \
  125. $(DIRECTORY)/include/GL/glu_mangle.h \
  126. $(DIRECTORY)/include/GL/glx.h \
  127. $(DIRECTORY)/include/GL/glxext.h \
  128. $(DIRECTORY)/include/GL/glx_mangle.h \
  129. $(DIRECTORY)/include/GL/mesa_wgl.h \
  130. $(DIRECTORY)/include/GL/mglmesa.h \
  131. $(DIRECTORY)/include/GL/osmesa.h \
  132. $(DIRECTORY)/include/GL/svgamesa.h \
  133. $(DIRECTORY)/include/GL/ugl*.h \
  134. $(DIRECTORY)/include/GL/vms_x_fix.h \
  135. $(DIRECTORY)/include/GL/wmesa.h \
  136. $(DIRECTORY)/include/GL/xmesa.h \
  137. $(DIRECTORY)/include/GL/xmesa_x.h \
  138. $(DIRECTORY)/include/GL/xmesa_xf86.h \
  139. $(DIRECTORY)/src/Makefile \
  140. $(DIRECTORY)/src/descrip.mms \
  141. $(DIRECTORY)/src/mesa/Makefile* \
  142. $(DIRECTORY)/src/mesa/sources \
  143. $(DIRECTORY)/src/mesa/descrip.mms \
  144. $(DIRECTORY)/src/mesa/depend \
  145. $(DIRECTORY)/src/mesa/main/*.[chS] \
  146. $(DIRECTORY)/src/mesa/main/main.dsp \
  147. $(DIRECTORY)/src/mesa/main/descrip.mms \
  148. $(DIRECTORY)/src/mesa/glapi/*.[chS] \
  149. $(DIRECTORY)/src/mesa/glapi/glapi.dsp \
  150. $(DIRECTORY)/src/mesa/glapi/descrip.mms \
  151. $(DIRECTORY)/src/mesa/array_cache/*.[ch] \
  152. $(DIRECTORY)/src/mesa/array_cache/array_cache.dsp \
  153. $(DIRECTORY)/src/mesa/array_cache/descrip.mms \
  154. $(DIRECTORY)/src/mesa/math/*.[ch] \
  155. $(DIRECTORY)/src/mesa/math/math.dsp \
  156. $(DIRECTORY)/src/mesa/math/descrip.mms \
  157. $(DIRECTORY)/src/mesa/shader/*.[ch] \
  158. $(DIRECTORY)/src/mesa/shader/shader.dsp \
  159. $(DIRECTORY)/src/mesa/shader/descrip.mms \
  160. $(DIRECTORY)/src/mesa/swrast/*.[ch] \
  161. $(DIRECTORY)/src/mesa/swrast/swrast.dsp \
  162. $(DIRECTORY)/src/mesa/swrast/descrip.mms \
  163. $(DIRECTORY)/src/mesa/swrast_setup/*.[ch] \
  164. $(DIRECTORY)/src/mesa/swrast_setup/swrast_setup.dsp \
  165. $(DIRECTORY)/src/mesa/swrast_setup/descrip.mms \
  166. $(DIRECTORY)/src/mesa/tnl/*.[chS] \
  167. $(DIRECTORY)/src/mesa/tnl/tnl.dsp \
  168. $(DIRECTORY)/src/mesa/tnl/descrip.mms \
  169. $(DIRECTORY)/src/mesa/tnl_dd/*.[ch] \
  170. $(DIRECTORY)/src/mesa/tnl_dd/imm/*.[ch] \
  171. $(DIRECTORY)/src/mesa/tnl_dd/imm/NOTES.imm \
  172. $(DIRECTORY)/src/mesa/drivers/beos/*.cpp \
  173. $(DIRECTORY)/src/mesa/drivers/beos/*.h \
  174. $(DIRECTORY)/src/mesa/drivers/beos/Makefile \
  175. $(DIRECTORY)/src/mesa/drivers/common/*.[ch] \
  176. $(DIRECTORY)/src/mesa/drivers/common/descrip.mms \
  177. $(DIRECTORY)/src/mesa/drivers/dos/*.[chS] \
  178. $(DIRECTORY)/src/mesa/drivers/dri/common/*.[ch] \
  179. $(DIRECTORY)/src/mesa/drivers/fbdev/glfbdev.c \
  180. $(DIRECTORY)/src/mesa/drivers/glide/*.[ch] \
  181. $(DIRECTORY)/src/mesa/drivers/glide/*.def \
  182. $(DIRECTORY)/src/mesa/drivers/ggi/*.[ch] \
  183. $(DIRECTORY)/src/mesa/drivers/ggi/ggimesa.conf.in \
  184. $(DIRECTORY)/src/mesa/drivers/ggi/default/*.c \
  185. $(DIRECTORY)/src/mesa/drivers/ggi/default/genkgi.conf.in \
  186. $(DIRECTORY)/src/mesa/drivers/ggi/display/*.c \
  187. $(DIRECTORY)/src/mesa/drivers/ggi/display/fbdev.conf.in \
  188. $(DIRECTORY)/src/mesa/drivers/ggi/include/ggi/mesa/*.h \
  189. $(DIRECTORY)/src/mesa/drivers/osmesa/Makefile.win \
  190. $(DIRECTORY)/src/mesa/drivers/osmesa/descrip.mms \
  191. $(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.def \
  192. $(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.dsp \
  193. $(DIRECTORY)/src/mesa/drivers/osmesa/*.[ch] \
  194. $(DIRECTORY)/src/mesa/drivers/svga/*.[ch] \
  195. $(DIRECTORY)/src/mesa/drivers/windows/*/*.[ch] \
  196. $(DIRECTORY)/src/mesa/drivers/windows/*/*.def \
  197. $(DIRECTORY)/src/mesa/drivers/windows/*/*.dsp \
  198. $(DIRECTORY)/src/mesa/drivers/x11/descrip.mms \
  199. $(DIRECTORY)/src/mesa/drivers/x11/*.[ch] \
  200. $(DIRECTORY)/src/mesa/sparc/*.[chS] \
  201. $(DIRECTORY)/src/mesa/x86/Makefile \
  202. $(DIRECTORY)/src/mesa/x86/*.[ch] \
  203. $(DIRECTORY)/src/mesa/x86/*.S \
  204. $(DIRECTORY)/src/glu/Makefile \
  205. $(DIRECTORY)/src/glu/descrip.mms \
  206. $(DIRECTORY)/src/glu/sgi/Makefile \
  207. $(DIRECTORY)/src/glu/sgi/Makefile.win \
  208. $(DIRECTORY)/src/glu/sgi/Makefile.DJ \
  209. $(DIRECTORY)/src/glu/sgi/cc*.txt \
  210. $(DIRECTORY)/src/glu/sgi/glu.def \
  211. $(DIRECTORY)/src/glu/sgi/glu.dsp \
  212. $(DIRECTORY)/src/glu/sgi/dummy.cc \
  213. $(DIRECTORY)/src/glu/sgi/descrip.mms \
  214. $(DIRECTORY)/src/glu/sgi/mesaglu.opt \
  215. $(DIRECTORY)/src/glu/sgi/include/gluos.h \
  216. $(DIRECTORY)/src/glu/sgi/libnurbs/interface/*.h \
  217. $(DIRECTORY)/src/glu/sgi/libnurbs/interface/*.cc \
  218. $(DIRECTORY)/src/glu/sgi/libnurbs/internals/*.h \
  219. $(DIRECTORY)/src/glu/sgi/libnurbs/internals/*.cc \
  220. $(DIRECTORY)/src/glu/sgi/libnurbs/nurbtess/*.h \
  221. $(DIRECTORY)/src/glu/sgi/libnurbs/nurbtess/*.cc \
  222. $(DIRECTORY)/src/glu/sgi/libtess/README \
  223. $(DIRECTORY)/src/glu/sgi/libtess/alg-outline \
  224. $(DIRECTORY)/src/glu/sgi/libtess/*.[ch] \
  225. $(DIRECTORY)/src/glu/sgi/libutil/*.[ch] \
  226. $(DIRECTORY)/src/glu/mesa/README[12] \
  227. $(DIRECTORY)/src/glu/mesa/Makefile* \
  228. $(DIRECTORY)/src/glu/mesa/descrip.mms \
  229. $(DIRECTORY)/src/glu/mesa/mms_depend \
  230. $(DIRECTORY)/src/glu/mesa/*.def \
  231. $(DIRECTORY)/src/glu/mesa/depend \
  232. $(DIRECTORY)/src/glu/mesa/*.[ch] \
  233. $(DIRECTORY)/src/glw/*.[ch] \
  234. $(DIRECTORY)/src/glw/Makefile* \
  235. $(DIRECTORY)/src/glw/README \
  236. $(DIRECTORY)/src/glw/depend \
  237. $(DIRECTORY)/progs/Makefile \
  238. $(DIRECTORY)/progs/util/README \
  239. $(DIRECTORY)/progs/util/*.[ch] \
  240. $(DIRECTORY)/progs/util/sampleMakefile \
  241. $(DIRECTORY)/vms/analyze_map.com \
  242. $(DIRECTORY)/vms/xlib.opt \
  243. $(DIRECTORY)/vms/xlib_share.opt
  244. DEMO_FILES = \
  245. $(DIRECTORY)/include/GL/glut.h \
  246. $(DIRECTORY)/include/GL/glutf90.h \
  247. $(DIRECTORY)/src/glut/glx/Makefile* \
  248. $(DIRECTORY)/src/glut/glx/depend \
  249. $(DIRECTORY)/src/glut/glx/*def \
  250. $(DIRECTORY)/src/glut/glx/descrip.mms \
  251. $(DIRECTORY)/src/glut/glx/mms_depend \
  252. $(DIRECTORY)/src/glut/glx/glut.dsp \
  253. $(DIRECTORY)/src/glut/glx/*.[ch] \
  254. $(DIRECTORY)/src/glut/beos/*.[ch] \
  255. $(DIRECTORY)/src/glut/beos/*.cpp \
  256. $(DIRECTORY)/src/glut/beos/Makefile \
  257. $(DIRECTORY)/src/glut/dos/*.[ch] \
  258. $(DIRECTORY)/src/glut/dos/Makefile.DJ \
  259. $(DIRECTORY)/src/glut/dos/PC_HW/*.[chS] \
  260. $(DIRECTORY)/src/glut/ggi/*.[ch] \
  261. $(DIRECTORY)/src/glut/ggi/Makefile \
  262. $(DIRECTORY)/progs/beos/*.cpp \
  263. $(DIRECTORY)/progs/beos/Makefile \
  264. $(DIRECTORY)/progs/images/*.rgb \
  265. $(DIRECTORY)/progs/images/*.rgba \
  266. $(DIRECTORY)/progs/demos/Makefile* \
  267. $(DIRECTORY)/progs/demos/descrip.mms \
  268. $(DIRECTORY)/progs/demos/*.[ch] \
  269. $(DIRECTORY)/progs/demos/*.cxx \
  270. $(DIRECTORY)/progs/demos/*.dat \
  271. $(DIRECTORY)/progs/demos/README \
  272. $(DIRECTORY)/progs/demos/Windows/*.dsp \
  273. $(DIRECTORY)/progs/demos/Windows/*.dsw \
  274. $(DIRECTORY)/progs/xdemos/Makefile* \
  275. $(DIRECTORY)/progs/xdemos/descrip.mms \
  276. $(DIRECTORY)/progs/xdemos/*.[chf] \
  277. $(DIRECTORY)/progs/redbook/Makefile* \
  278. $(DIRECTORY)/progs/redbook/README \
  279. $(DIRECTORY)/progs/redbook/*.[ch] \
  280. $(DIRECTORY)/progs/samples/Makefile* \
  281. $(DIRECTORY)/progs/samples/README \
  282. $(DIRECTORY)/progs/samples/*.c \
  283. $(DIRECTORY)/progs/windml/Makefile.ugl \
  284. $(DIRECTORY)/progs/windml/*.c \
  285. $(DIRECTORY)/progs/windml/*.bmp \
  286. $(DIRECTORY)/progs/ggi/*.c
  287. DRI_FILES = \
  288. $(DIRECTORY)/src/glx/Makefile \
  289. $(DIRECTORY)/src/glx/mini/*.[ch] \
  290. $(DIRECTORY)/src/glx/mini/example.miniglx.conf \
  291. $(DIRECTORY)/src/glx/mini/NOTES \
  292. $(DIRECTORY)/src/mesa/drivers/dri/Makefile \
  293. $(DIRECTORY)/src/mesa/drivers/dri/Makefile.template \
  294. $(DIRECTORY)/src/mesa/drivers/dri/common/*.[ch] \
  295. $(DIRECTORY)/src/mesa/drivers/dri/dri_client/imports/*.h \
  296. $(DIRECTORY)/src/mesa/drivers/dri/*/*.[ch] \
  297. $(DIRECTORY)/src/mesa/drivers/dri/*/depend \
  298. $(DIRECTORY)/src/mesa/drivers/dri/*/Makefile \
  299. $(DIRECTORY)/src/mesa/drivers/dri/*/Doxyfile \
  300. $(DIRECTORY)/src/mesa/drivers/dri/*/server/*.[ch]
  301. # Everything for new a Mesa release:
  302. tarballs: lib_gz demo_gz lib_bz2 demo_bz2 lib_zip demo_zip md5
  303. lib_gz:
  304. rm -f configs/current ; \
  305. cd .. ; \
  306. tar -cvf $(LIB_NAME).tar $(LIB_FILES) ; \
  307. gzip $(LIB_NAME).tar ; \
  308. mv $(LIB_NAME).tar.gz $(DIRECTORY)
  309. demo_gz:
  310. cd .. ; \
  311. tar -cvf $(DEMO_NAME).tar $(DEMO_FILES) ; \
  312. gzip $(DEMO_NAME).tar ; \
  313. mv $(DEMO_NAME).tar.gz $(DIRECTORY)
  314. lib_bz2:
  315. rm -f configs/current ; \
  316. cd .. ; \
  317. tar -cvf $(LIB_NAME).tar $(LIB_FILES) ; \
  318. bzip2 $(LIB_NAME).tar ; \
  319. mv $(LIB_NAME).tar.bz2 $(DIRECTORY)
  320. demo_bz2:
  321. cd .. ; \
  322. tar -cvf $(DEMO_NAME).tar $(DEMO_FILES) ; \
  323. bzip2 $(DEMO_NAME).tar ; \
  324. mv $(DEMO_NAME).tar.bz2 $(DIRECTORY)
  325. lib_zip:
  326. rm -f configs/current ; \
  327. -rm $(LIB_NAME).zip ; \
  328. cd .. ; \
  329. zip -r $(LIB_NAME).zip $(LIB_FILES) ; \
  330. mv $(LIB_NAME).zip $(DIRECTORY)
  331. demo_zip:
  332. -rm $(DEMO_NAME).zip ; \
  333. cd .. ; \
  334. zip -r $(DEMO_NAME).zip $(DEMO_FILES) ; \
  335. mv $(DEMO_NAME).zip $(DIRECTORY)
  336. md5:
  337. @-md5sum $(LIB_NAME).tar.gz
  338. @-md5sum $(LIB_NAME).tar.bz2
  339. @-md5sum $(LIB_NAME).zip
  340. @-md5sum $(DEMO_NAME).tar.gz
  341. @-md5sum $(DEMO_NAME).tar.bz2
  342. @-md5sum $(DEMO_NAME).zip