1
# Top-level Mesa makefile
8
default: $(TOP)/configs/current
9
@for dir in $(SUBDIRS) ; do \
10
if [ -d $$dir ] ; then \
11
(cd $$dir && $(MAKE)) || exit 1 ; \
20
-@touch $(TOP)/configs/current
21
-@for dir in $(SUBDIRS) ; do \
22
if [ -d $$dir ] ; then \
23
(cd $$dir && $(MAKE) clean) ; \
26
-@test -s $(TOP)/configs/current || rm -f $(TOP)/configs/current
31
-rm -f $(TOP)/configs/current
32
-rm -f $(TOP)/configs/autoconf
33
-rm -rf autom4te.cache
34
-find . '(' -name '*.o' -o -name '*.a' -o -name '*.so' -o \
35
-name depend -o -name depend.bak ')' -exec rm -f '{}' ';'
40
@for dir in $(SUBDIRS) ; do \
41
if [ -d $$dir ] ; then \
42
(cd $$dir && $(MAKE) install) || exit 1 ; \
47
# DirectFBGL module installation
48
linux-directfb-install:
49
cd src/mesa/drivers/directfb && $(MAKE) install
51
.PHONY: default doxygen clean realclean install linux-directfb-install
53
# If there's no current configuration file
54
$(TOP)/configs/current:
57
@echo "Please choose a configuration from the following list:"
58
@ls -1 $(TOP)/configs | grep -v "current\|default\|CVS\|autoconf.*"
60
@echo "Then type 'make <config>' (ex: 'make linux-x86')"
62
@echo "Or, run './configure' then 'make'"
63
@echo "See './configure --help' for details"
65
@echo "(ignore the following error message)"
69
# Rules to set/install a specific build configuration
79
catamount-osmesa-pgi \
84
darwin-static-x86ppc \
94
hpux11-32-static-nothreads \
122
linux-ia64-icc-static \
127
linux-osmesa16-static \
144
linux-x86-64-static \
153
solaris-x86-gcc-static \
167
@ if test -f configs/current || test -L configs/current ; then \
168
echo "Please run 'make realclean' before changing configs" ; \
171
(cd configs && rm -f current && ln -s $@ current)
175
# Rules for making release tarballs
178
DIRECTORY = Mesa-$(VERSION)
179
LIB_NAME = MesaLib-$(VERSION)
180
DEMO_NAME = MesaDemos-$(VERSION)
181
GLUT_NAME = MesaGLUT-$(VERSION)
184
$(DIRECTORY)/Makefile* \
185
$(DIRECTORY)/configure \
186
$(DIRECTORY)/configure.ac \
187
$(DIRECTORY)/acinclude.m4 \
188
$(DIRECTORY)/aclocal.m4 \
189
$(DIRECTORY)/descrip.mms \
190
$(DIRECTORY)/mms-config. \
191
$(DIRECTORY)/bin/config.guess \
192
$(DIRECTORY)/bin/config.sub \
193
$(DIRECTORY)/bin/install-sh \
194
$(DIRECTORY)/bin/mklib \
195
$(DIRECTORY)/bin/minstall \
196
$(DIRECTORY)/bin/version.mk \
197
$(DIRECTORY)/configs/[a-z]* \
198
$(DIRECTORY)/docs/*.html \
199
$(DIRECTORY)/docs/COPYING \
200
$(DIRECTORY)/docs/README.* \
201
$(DIRECTORY)/docs/RELNOTES* \
202
$(DIRECTORY)/docs/*.spec \
203
$(DIRECTORY)/include/GL/internal/glcore.h \
204
$(DIRECTORY)/include/GL/dmesa.h \
205
$(DIRECTORY)/include/GL/ggimesa.h \
206
$(DIRECTORY)/include/GL/gl.h \
207
$(DIRECTORY)/include/GL/glext.h \
208
$(DIRECTORY)/include/GL/gl_mangle.h \
209
$(DIRECTORY)/include/GL/glu.h \
210
$(DIRECTORY)/include/GL/glu_mangle.h \
211
$(DIRECTORY)/include/GL/glx.h \
212
$(DIRECTORY)/include/GL/glxext.h \
213
$(DIRECTORY)/include/GL/glx_mangle.h \
214
$(DIRECTORY)/include/GL/glfbdev.h \
215
$(DIRECTORY)/include/GL/mesa_wgl.h \
216
$(DIRECTORY)/include/GL/mglmesa.h \
217
$(DIRECTORY)/include/GL/osmesa.h \
218
$(DIRECTORY)/include/GL/svgamesa.h \
219
$(DIRECTORY)/include/GL/vms_x_fix.h \
220
$(DIRECTORY)/include/GL/wmesa.h \
221
$(DIRECTORY)/src/Makefile \
222
$(DIRECTORY)/src/descrip.mms \
223
$(DIRECTORY)/src/mesa/Makefile* \
224
$(DIRECTORY)/src/mesa/sources \
225
$(DIRECTORY)/src/mesa/descrip.mms \
226
$(DIRECTORY)/src/mesa/gl.pc.in \
227
$(DIRECTORY)/src/mesa/osmesa.pc.in \
228
$(DIRECTORY)/src/mesa/depend \
229
$(DIRECTORY)/src/mesa/main/*.[chS] \
230
$(DIRECTORY)/src/mesa/main/descrip.mms \
231
$(DIRECTORY)/src/mesa/glapi/*.[chS] \
232
$(DIRECTORY)/src/mesa/glapi/descrip.mms \
233
$(DIRECTORY)/src/mesa/math/*.[ch] \
234
$(DIRECTORY)/src/mesa/math/descrip.mms \
235
$(DIRECTORY)/src/mesa/shader/*.[ch] \
236
$(DIRECTORY)/src/mesa/shader/descrip.mms \
237
$(DIRECTORY)/src/mesa/shader/grammar/*.[ch] \
238
$(DIRECTORY)/src/mesa/shader/grammar/descrip.mms \
239
$(DIRECTORY)/src/mesa/shader/slang/*.[ch] \
240
$(DIRECTORY)/src/mesa/shader/slang/descrip.mms \
241
$(DIRECTORY)/src/mesa/shader/slang/library/*.[ch] \
242
$(DIRECTORY)/src/mesa/shader/slang/library/*.gc \
243
$(DIRECTORY)/src/mesa/shader/slang/library/*.syn \
244
$(DIRECTORY)/src/mesa/shader/slang/library/Makefile \
245
$(DIRECTORY)/src/mesa/swrast/*.[ch] \
246
$(DIRECTORY)/src/mesa/swrast/descrip.mms \
247
$(DIRECTORY)/src/mesa/swrast_setup/*.[ch] \
248
$(DIRECTORY)/src/mesa/swrast_setup/descrip.mms \
249
$(DIRECTORY)/src/mesa/vbo/*.[chS] \
250
$(DIRECTORY)/src/mesa/vbo/descrip.mms \
251
$(DIRECTORY)/src/mesa/tnl/*.[chS] \
252
$(DIRECTORY)/src/mesa/tnl/descrip.mms \
253
$(DIRECTORY)/src/mesa/tnl_dd/*.[ch] \
254
$(DIRECTORY)/src/mesa/tnl_dd/imm/*.[ch] \
255
$(DIRECTORY)/src/mesa/tnl_dd/imm/NOTES.imm \
256
$(DIRECTORY)/src/mesa/drivers/Makefile \
257
$(DIRECTORY)/src/mesa/drivers/beos/*.cpp \
258
$(DIRECTORY)/src/mesa/drivers/beos/Makefile \
259
$(DIRECTORY)/src/mesa/drivers/common/*.[ch] \
260
$(DIRECTORY)/src/mesa/drivers/common/descrip.mms \
261
$(DIRECTORY)/src/mesa/drivers/directfb/*.[ch] \
262
$(DIRECTORY)/src/mesa/drivers/directfb/Makefile \
263
$(DIRECTORY)/src/mesa/drivers/dos/*.[chS] \
264
$(DIRECTORY)/src/mesa/drivers/fbdev/Makefile \
265
$(DIRECTORY)/src/mesa/drivers/fbdev/glfbdev.c \
266
$(DIRECTORY)/src/mesa/drivers/glide/*.[ch] \
267
$(DIRECTORY)/src/mesa/drivers/ggi/*.[ch] \
268
$(DIRECTORY)/src/mesa/drivers/ggi/ggimesa.conf.in \
269
$(DIRECTORY)/src/mesa/drivers/ggi/default/*.c \
270
$(DIRECTORY)/src/mesa/drivers/ggi/default/genkgi.conf.in \
271
$(DIRECTORY)/src/mesa/drivers/ggi/display/*.c \
272
$(DIRECTORY)/src/mesa/drivers/ggi/display/fbdev.conf.in \
273
$(DIRECTORY)/src/mesa/drivers/ggi/include/ggi/mesa/*.h \
274
$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile \
275
$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile.win \
276
$(DIRECTORY)/src/mesa/drivers/osmesa/descrip.mms \
277
$(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.def \
278
$(DIRECTORY)/src/mesa/drivers/osmesa/*.[ch] \
279
$(DIRECTORY)/src/mesa/drivers/svga/*.[ch] \
280
$(DIRECTORY)/src/mesa/drivers/windows/*/*.[ch] \
281
$(DIRECTORY)/src/mesa/drivers/windows/*/*.def \
282
$(DIRECTORY)/src/mesa/drivers/x11/Makefile \
283
$(DIRECTORY)/src/mesa/drivers/x11/descrip.mms \
284
$(DIRECTORY)/src/mesa/drivers/x11/*.[ch] \
285
$(DIRECTORY)/src/mesa/drivers/glslcompiler/Makefile \
286
$(DIRECTORY)/src/mesa/drivers/glslcompiler/glslcompiler.c \
287
$(DIRECTORY)/src/mesa/ppc/*.[ch] \
288
$(DIRECTORY)/src/mesa/sparc/*.[chS] \
289
$(DIRECTORY)/src/mesa/x86/Makefile \
290
$(DIRECTORY)/src/mesa/x86/*.[ch] \
291
$(DIRECTORY)/src/mesa/x86/*.S \
292
$(DIRECTORY)/src/mesa/x86/rtasm/*.[ch] \
293
$(DIRECTORY)/src/mesa/x86-64/*.[chS] \
294
$(DIRECTORY)/src/mesa/x86-64/Makefile \
295
$(DIRECTORY)/progs/Makefile \
296
$(DIRECTORY)/progs/util/README \
297
$(DIRECTORY)/progs/util/*.[ch] \
298
$(DIRECTORY)/progs/util/sampleMakefile \
299
$(DIRECTORY)/vms/analyze_map.com \
300
$(DIRECTORY)/vms/xlib.opt \
301
$(DIRECTORY)/vms/xlib_share.opt \
302
$(DIRECTORY)/windows/VC8/
306
$(DIRECTORY)/include/GL/internal/dri_interface.h \
307
$(DIRECTORY)/include/GL/internal/glcore.h \
308
$(DIRECTORY)/include/GL/internal/sarea.h \
309
$(DIRECTORY)/src/glx/Makefile \
310
$(DIRECTORY)/src/glx/x11/Makefile \
311
$(DIRECTORY)/src/glx/x11/*.[ch] \
312
$(DIRECTORY)/src/mesa/drivers/dri/Makefile \
313
$(DIRECTORY)/src/mesa/drivers/dri/Makefile.template \
314
$(DIRECTORY)/src/mesa/drivers/dri/dri.pc.in \
315
$(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.[ch] \
316
$(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.po \
317
$(DIRECTORY)/src/mesa/drivers/dri/*/*.[chS] \
318
$(DIRECTORY)/src/mesa/drivers/dri/*/Makefile \
319
$(DIRECTORY)/src/mesa/drivers/dri/*/Doxyfile \
320
$(DIRECTORY)/src/mesa/drivers/dri/*/server/*.[ch]
323
$(DIRECTORY)/src/glu/Makefile \
324
$(DIRECTORY)/src/glu/descrip.mms \
325
$(DIRECTORY)/src/glu/glu.pc.in \
326
$(DIRECTORY)/src/glu/sgi/Makefile \
327
$(DIRECTORY)/src/glu/sgi/Makefile.mgw \
328
$(DIRECTORY)/src/glu/sgi/Makefile.win \
329
$(DIRECTORY)/src/glu/sgi/Makefile.DJ \
330
$(DIRECTORY)/src/glu/sgi/glu.def \
331
$(DIRECTORY)/src/glu/sgi/dummy.cc \
332
$(DIRECTORY)/src/glu/sgi/descrip.mms \
333
$(DIRECTORY)/src/glu/sgi/glu.exports \
334
$(DIRECTORY)/src/glu/sgi/glu.exports.darwin \
335
$(DIRECTORY)/src/glu/sgi/mesaglu.opt \
336
$(DIRECTORY)/src/glu/sgi/include/gluos.h \
337
$(DIRECTORY)/src/glu/sgi/libnurbs/interface/*.h \
338
$(DIRECTORY)/src/glu/sgi/libnurbs/interface/*.cc \
339
$(DIRECTORY)/src/glu/sgi/libnurbs/internals/*.h \
340
$(DIRECTORY)/src/glu/sgi/libnurbs/internals/*.cc \
341
$(DIRECTORY)/src/glu/sgi/libnurbs/nurbtess/*.h \
342
$(DIRECTORY)/src/glu/sgi/libnurbs/nurbtess/*.cc \
343
$(DIRECTORY)/src/glu/sgi/libtess/README \
344
$(DIRECTORY)/src/glu/sgi/libtess/alg-outline \
345
$(DIRECTORY)/src/glu/sgi/libtess/*.[ch] \
346
$(DIRECTORY)/src/glu/sgi/libutil/*.[ch]
349
$(DIRECTORY)/src/glu/mesa/README[12] \
350
$(DIRECTORY)/src/glu/mesa/Makefile* \
351
$(DIRECTORY)/src/glu/mesa/descrip.mms \
352
$(DIRECTORY)/src/glu/mesa/mms_depend \
353
$(DIRECTORY)/src/glu/mesa/*.def \
354
$(DIRECTORY)/src/glu/mesa/depend \
355
$(DIRECTORY)/src/glu/mesa/*.[ch]
358
$(DIRECTORY)/src/glw/*.[ch] \
359
$(DIRECTORY)/src/glw/Makefile* \
360
$(DIRECTORY)/src/glw/README \
361
$(DIRECTORY)/src/glw/glw.pc.in \
362
$(DIRECTORY)/src/glw/depend
365
$(DIRECTORY)/progs/beos/*.cpp \
366
$(DIRECTORY)/progs/beos/Makefile \
367
$(DIRECTORY)/progs/images/*.rgb \
368
$(DIRECTORY)/progs/images/*.rgba \
369
$(DIRECTORY)/progs/demos/Makefile* \
370
$(DIRECTORY)/progs/demos/descrip.mms \
371
$(DIRECTORY)/progs/demos/*.[ch] \
372
$(DIRECTORY)/progs/demos/*.cxx \
373
$(DIRECTORY)/progs/demos/*.dat \
374
$(DIRECTORY)/progs/demos/README \
375
$(DIRECTORY)/progs/fbdev/Makefile \
376
$(DIRECTORY)/progs/fbdev/glfbdevtest.c \
377
$(DIRECTORY)/progs/osdemos/Makefile \
378
$(DIRECTORY)/progs/osdemos/*.c \
379
$(DIRECTORY)/progs/xdemos/Makefile* \
380
$(DIRECTORY)/progs/xdemos/descrip.mms \
381
$(DIRECTORY)/progs/xdemos/*.[chf] \
382
$(DIRECTORY)/progs/redbook/Makefile* \
383
$(DIRECTORY)/progs/redbook/README \
384
$(DIRECTORY)/progs/redbook/*.[ch] \
385
$(DIRECTORY)/progs/samples/Makefile* \
386
$(DIRECTORY)/progs/samples/README \
387
$(DIRECTORY)/progs/samples/*.c \
388
$(DIRECTORY)/progs/glsl/Makefile* \
389
$(DIRECTORY)/progs/glsl/*.c \
390
$(DIRECTORY)/progs/glsl/*.frag \
391
$(DIRECTORY)/progs/glsl/*.vert \
392
$(DIRECTORY)/progs/windml/Makefile.ugl \
393
$(DIRECTORY)/progs/windml/*.c \
394
$(DIRECTORY)/progs/windml/*.bmp \
395
$(DIRECTORY)/progs/ggi/*.c \
396
$(DIRECTORY)/windows/VC6/progs/demos/*.dsp \
397
$(DIRECTORY)/windows/VC6/progs/progs.dsw \
398
$(DIRECTORY)/windows/VC7/progs/demos/*.vcproj \
399
$(DIRECTORY)/windows/VC7/progs/progs.sln
402
$(DIRECTORY)/include/GL/glut.h \
403
$(DIRECTORY)/include/GL/glutf90.h \
404
$(DIRECTORY)/src/glut/glx/Makefile* \
405
$(DIRECTORY)/src/glut/glx/depend \
406
$(DIRECTORY)/src/glut/glx/glut.pc.in \
407
$(DIRECTORY)/src/glut/glx/*def \
408
$(DIRECTORY)/src/glut/glx/descrip.mms \
409
$(DIRECTORY)/src/glut/glx/mms_depend \
410
$(DIRECTORY)/src/glut/glx/*.[ch] \
411
$(DIRECTORY)/src/glut/beos/*.[ch] \
412
$(DIRECTORY)/src/glut/beos/*.cpp \
413
$(DIRECTORY)/src/glut/beos/Makefile \
414
$(DIRECTORY)/src/glut/dos/*.[ch] \
415
$(DIRECTORY)/src/glut/dos/Makefile.DJ \
416
$(DIRECTORY)/src/glut/dos/PC_HW/*.[chS] \
417
$(DIRECTORY)/src/glut/ggi/*.[ch] \
418
$(DIRECTORY)/src/glut/ggi/Makefile \
419
$(DIRECTORY)/src/glut/fbdev/Makefile \
420
$(DIRECTORY)/src/glut/fbdev/*[ch] \
421
$(DIRECTORY)/src/glut/mini/*[ch] \
422
$(DIRECTORY)/src/glut/mini/glut.pc.in \
423
$(DIRECTORY)/src/glut/directfb/Makefile \
424
$(DIRECTORY)/src/glut/directfb/NOTES \
425
$(DIRECTORY)/src/glut/directfb/*[ch] \
426
$(DIRECTORY)/windows/VC6/progs/glut/glut.dsp \
427
$(DIRECTORY)/windows/VC7/progs/glut/glut.vcproj
430
$(TOP)/src/mesa/depend \
431
$(TOP)/src/glx/x11/depend \
432
$(TOP)/src/glw/depend \
433
$(TOP)/src/glut/glx/depend \
434
$(TOP)/src/glu/sgi/depend
437
LIB_FILES = $(MAIN_FILES) $(DRI_FILES) $(SGI_GLU_FILES) $(GLW_FILES)
440
# Everything for new a Mesa release:
441
tarballs: rm_depend configure aclocal.m4 lib_gz demo_gz glut_gz \
442
lib_bz2 demo_bz2 glut_bz2 lib_zip demo_zip glut_zip md5
445
# Helper for autoconf builds
450
aclocal.m4: configure.ac acinclude.m4
451
$(ACLOCAL) $(ACLOCAL_FLAGS)
452
configure: configure.ac aclocal.m4 acinclude.m4
453
$(AUTOCONF) $(AC_FLAGS)
456
@for dep in $(DEPEND_FILES) ; do \
462
rm -f configs/current ; \
463
rm -f configs/autoconf ; \
465
tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \
466
gzip $(LIB_NAME).tar ; \
467
mv $(LIB_NAME).tar.gz $(DIRECTORY)
471
tar -cf $(DEMO_NAME).tar $(DEMO_FILES) ; \
472
gzip $(DEMO_NAME).tar ; \
473
mv $(DEMO_NAME).tar.gz $(DIRECTORY)
477
tar -cf $(GLUT_NAME).tar $(GLUT_FILES) ; \
478
gzip $(GLUT_NAME).tar ; \
479
mv $(GLUT_NAME).tar.gz $(DIRECTORY)
482
rm -f configs/current ; \
483
rm -f configs/autoconf ; \
485
tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \
486
bzip2 $(LIB_NAME).tar ; \
487
mv $(LIB_NAME).tar.bz2 $(DIRECTORY)
491
tar -cf $(DEMO_NAME).tar $(DEMO_FILES) ; \
492
bzip2 $(DEMO_NAME).tar ; \
493
mv $(DEMO_NAME).tar.bz2 $(DIRECTORY)
497
tar -cf $(GLUT_NAME).tar $(GLUT_FILES) ; \
498
bzip2 $(GLUT_NAME).tar ; \
499
mv $(GLUT_NAME).tar.bz2 $(DIRECTORY)
502
rm -f configs/current ; \
503
rm -f configs/autoconf ; \
504
rm -f $(LIB_NAME).zip ; \
506
zip -qr $(LIB_NAME).zip $(LIB_FILES) ; \
507
mv $(LIB_NAME).zip $(DIRECTORY)
510
rm -f $(DEMO_NAME).zip ; \
512
zip -qr $(DEMO_NAME).zip $(DEMO_FILES) ; \
513
mv $(DEMO_NAME).zip $(DIRECTORY)
516
rm -f $(GLUT_NAME).zip ; \
518
zip -qr $(GLUT_NAME).zip $(GLUT_FILES) ; \
519
mv $(GLUT_NAME).zip $(DIRECTORY)
522
@-md5sum $(LIB_NAME).tar.gz
523
@-md5sum $(LIB_NAME).tar.bz2
524
@-md5sum $(LIB_NAME).zip
525
@-md5sum $(DEMO_NAME).tar.gz
526
@-md5sum $(DEMO_NAME).tar.bz2
527
@-md5sum $(DEMO_NAME).zip
528
@-md5sum $(GLUT_NAME).tar.gz
529
@-md5sum $(GLUT_NAME).tar.bz2
530
@-md5sum $(GLUT_NAME).zip
532
.PHONY: tarballs rm_depend lib_gz demo_gz glut_gz lib_bz2 demo_bz2 \
533
glut_bz2 lib_zip demo_zip glut_zip md5