Tweak the shell scripting for descending into and building subdirs.
[mesa.git] / Makefile
index e799ecfae8620ad0b8adfb2de704cd5166c7848c..4984e4dceb76d5cdb9d5d4714a14d5be0619817e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,9 @@ SUBDIRS = src progs
 
 default: $(TOP)/configs/current
        @for dir in $(SUBDIRS) ; do \
-               (cd $$dir ; $(MAKE)) || exit 1 ; \
+               if [ -d $$dir ] ; then \
+                       (cd $$dir && $(MAKE)) || exit 1 ; \
+               fi \
        done
 
 
@@ -16,7 +18,9 @@ doxygen:
 
 clean:
        @for dir in $(SUBDIRS) ; do \
-               (cd $$dir ; $(MAKE) clean) ; \
+               if [ -d $$dir ] ; then \
+                       (cd $$dir && $(MAKE) clean) ; \
+               fi \
        done
 
 
@@ -34,9 +38,12 @@ realclean:
 
 install:
        @for dir in $(SUBDIRS) ; do \
-               (cd $$dir ; $(MAKE) install) || exit 1 ; \
+               if [ -d $$dir ] ; then \
+                       (cd $$dir && $(MAKE) install) || exit 1 ; \
+               fi \
        done
 
+
 # DirectFBGL module installation
 linux-directfb-install:
        cd src/mesa/drivers/directfb && $(MAKE) install
@@ -92,6 +99,7 @@ linux-alpha-static \
 linux-debug \
 linux-directfb \
 linux-dri \
+linux-dri-debug \
 linux-dri-x86 \
 linux-dri-x86-64 \
 linux-dri-ppc \
@@ -103,6 +111,7 @@ linux-ia64-icc \
 linux-ia64-icc-static \
 linux-icc \
 linux-icc-static \
+linux-osmesa \
 linux-osmesa16 \
 linux-osmesa16-static \
 linux-osmesa32 \
@@ -143,34 +152,36 @@ sunos5-v8-static \
 sunos5-v9 \
 sunos5-v9-static \
 ultrix-gcc:
+       @ if [ -e configs/current ] ; then \
+               echo "Please run 'make realclean' before changing configs" ; \
+               exit 1 ; \
+       fi
        (cd configs && rm -f current && ln -s $@ current)
        $(MAKE) default
 
 
 # Rules for making release tarballs
 
-DIRECTORY = Mesa-6.5.1
-LIB_NAME = MesaLib-6.5.1
-DEMO_NAME = MesaDemos-6.5.1
-GLUT_NAME = MesaGLUT-6.5.1
+DIRECTORY = Mesa-7.0pre
+LIB_NAME = MesaLib-7.0pre
+DEMO_NAME = MesaDemos-7.0pre
+GLUT_NAME = MesaGLUT-7.0pre
 
 MAIN_FILES = \
        $(DIRECTORY)/Makefile*                                          \
        $(DIRECTORY)/descrip.mms                                        \
        $(DIRECTORY)/mms-config.                                        \
        $(DIRECTORY)/bin/mklib                                          \
-       $(DIRECTORY)/bin/installmesa                                    \
+       $(DIRECTORY)/bin/minstall                                       \
        $(DIRECTORY)/configs/[a-z]*                                     \
        $(DIRECTORY)/docs/*.html                                        \
        $(DIRECTORY)/docs/COPYING                                       \
        $(DIRECTORY)/docs/README.*                                      \
        $(DIRECTORY)/docs/RELNOTES*                                     \
-       $(DIRECTORY)/docs/VERSIONS                                      \
        $(DIRECTORY)/docs/*.spec                                        \
        $(DIRECTORY)/include/GL/internal/glcore.h                       \
        $(DIRECTORY)/include/GL/amesa.h                                 \
        $(DIRECTORY)/include/GL/dmesa.h                                 \
-       $(DIRECTORY)/include/GL/directfbgl.h                            \
        $(DIRECTORY)/include/GL/fxmesa.h                                \
        $(DIRECTORY)/include/GL/ggimesa.h                               \
        $(DIRECTORY)/include/GL/gl.h                                    \
@@ -201,25 +212,37 @@ MAIN_FILES = \
        $(DIRECTORY)/src/mesa/depend                                    \
        $(DIRECTORY)/src/mesa/main/*.[chS]                              \
        $(DIRECTORY)/src/mesa/main/descrip.mms                          \
+       $(DIRECTORY)/src/mesa/main/sources                              \
        $(DIRECTORY)/src/mesa/glapi/*.[chS]                             \
        $(DIRECTORY)/src/mesa/glapi/descrip.mms                         \
-       $(DIRECTORY)/src/mesa/array_cache/*.[ch]                        \
-       $(DIRECTORY)/src/mesa/array_cache/descrip.mms                   \
+       $(DIRECTORY)/src/mesa/glapi/sources                             \
        $(DIRECTORY)/src/mesa/math/*.[ch]                               \
        $(DIRECTORY)/src/mesa/math/descrip.mms                          \
+       $(DIRECTORY)/src/mesa/math/sources                              \
        $(DIRECTORY)/src/mesa/shader/*.[ch]                             \
        $(DIRECTORY)/src/mesa/shader/descrip.mms                        \
+       $(DIRECTORY)/src/mesa/shader/sources                            \
        $(DIRECTORY)/src/mesa/shader/grammar/*.[ch]                     \
        $(DIRECTORY)/src/mesa/shader/grammar/descrip.mms                \
+       $(DIRECTORY)/src/mesa/shader/grammar/sources                    \
        $(DIRECTORY)/src/mesa/shader/slang/*.[ch]                       \
        $(DIRECTORY)/src/mesa/shader/slang/descrip.mms                  \
+       $(DIRECTORY)/src/mesa/shader/slang/sources                      \
        $(DIRECTORY)/src/mesa/shader/slang/library/*.[ch]               \
+       $(DIRECTORY)/src/mesa/shader/slang/library/*.gc                 \
+       $(DIRECTORY)/src/mesa/shader/slang/library/*.syn                \
+       $(DIRECTORY)/src/mesa/shader/slang/library/Makefile             \
        $(DIRECTORY)/src/mesa/swrast/*.[ch]                             \
        $(DIRECTORY)/src/mesa/swrast/descrip.mms                        \
+       $(DIRECTORY)/src/mesa/swrast/sources                            \
        $(DIRECTORY)/src/mesa/swrast_setup/*.[ch]                       \
        $(DIRECTORY)/src/mesa/swrast_setup/descrip.mms                  \
+       $(DIRECTORY)/src/mesa/swrast_setup/sources                      \
+       $(DIRECTORY)/src/mesa/vbo/*.[chS]                               \
+       $(DIRECTORY)/src/mesa/vbo/descrip.mms                           \
        $(DIRECTORY)/src/mesa/tnl/*.[chS]                               \
        $(DIRECTORY)/src/mesa/tnl/descrip.mms                           \
+       $(DIRECTORY)/src/mesa/tnl/sources                               \
        $(DIRECTORY)/src/mesa/tnl_dd/*.[ch]                             \
        $(DIRECTORY)/src/mesa/tnl_dd/imm/*.[ch]                         \
        $(DIRECTORY)/src/mesa/tnl_dd/imm/NOTES.imm                      \
@@ -227,6 +250,7 @@ MAIN_FILES = \
        $(DIRECTORY)/src/mesa/drivers/beos/Makefile                     \
        $(DIRECTORY)/src/mesa/drivers/common/*.[ch]                     \
        $(DIRECTORY)/src/mesa/drivers/common/descrip.mms                \
+       $(DIRECTORY)/src/mesa/drivers/common/sources                    \
        $(DIRECTORY)/src/mesa/drivers/directfb/*.[ch]                   \
        $(DIRECTORY)/src/mesa/drivers/directfb/Makefile                 \
        $(DIRECTORY)/src/mesa/drivers/dos/*.[chS]                       \
@@ -247,6 +271,7 @@ MAIN_FILES = \
        $(DIRECTORY)/src/mesa/drivers/windows/*/*.[ch]                  \
        $(DIRECTORY)/src/mesa/drivers/windows/*/*.def                   \
        $(DIRECTORY)/src/mesa/drivers/x11/descrip.mms                   \
+       $(DIRECTORY)/src/mesa/drivers/x11/sources                       \
        $(DIRECTORY)/src/mesa/drivers/x11/*.[ch]                        \
        $(DIRECTORY)/src/mesa/ppc/*.[ch]                                \
        $(DIRECTORY)/src/mesa/sparc/*.[chS]                             \
@@ -273,7 +298,16 @@ MAIN_FILES = \
        $(DIRECTORY)/windows/VC7/mesa/glu/glu.vcproj                    \
        $(DIRECTORY)/windows/VC7/mesa/mesa.sln                          \
        $(DIRECTORY)/windows/VC7/mesa/mesa/mesa.vcproj                  \
-       $(DIRECTORY)/windows/VC7/mesa/osmesa/osmesa.vcproj
+       $(DIRECTORY)/windows/VC7/mesa/osmesa/osmesa.vcproj              \
+       $(DIRECTORY)/windows/VC8/mesa/mesa.sln                          \
+       $(DIRECTORY)/windows/VC8/mesa/gdi/gdi.vcproj                    \
+       $(DIRECTORY)/windows/VC8/mesa/glu/glu.vcproj                    \
+       $(DIRECTORY)/windows/VC8/mesa/mesa/mesa.vcproj                  \
+       $(DIRECTORY)/windows/VC8/mesa/osmesa/osmesa.vcproj              \
+       $(DIRECTORY)/windows/VC8/progs/progs.sln                        \
+       $(DIRECTORY)/windows/VC8/progs/demos/gears.vcproj               \
+       $(DIRECTORY)/windows/VC8/progs/glut/glut.vcproj
+
 
 DRI_FILES = \
        $(DIRECTORY)/include/GL/internal/dri_interface.h                \
@@ -349,6 +383,9 @@ DEMO_FILES = \
        $(DIRECTORY)/progs/samples/Makefile*            \
        $(DIRECTORY)/progs/samples/README               \
        $(DIRECTORY)/progs/samples/*.c                  \
+       $(DIRECTORY)/progs/glsl/Makefile*               \
+       $(DIRECTORY)/progs/glsl/*.c                     \
+       $(DIRECTORY)/progs/glsl/*.txt                   \
        $(DIRECTORY)/progs/windml/Makefile.ugl          \
        $(DIRECTORY)/progs/windml/*.c                   \
        $(DIRECTORY)/progs/windml/*.bmp                 \
@@ -375,11 +412,15 @@ GLUT_FILES = \
        $(DIRECTORY)/src/glut/dos/PC_HW/*.[chS]         \
        $(DIRECTORY)/src/glut/ggi/*.[ch]                \
        $(DIRECTORY)/src/glut/ggi/Makefile              \
+       $(DIRECTORY)/src/glut/fbdev/Makefile            \
+       $(DIRECTORY)/src/glut/fbdev/*[ch]               \
+       $(DIRECTORY)/src/glut/mini/*[ch]                \
        $(DIRECTORY)/windows/VC6/progs/glut/glut.dsp    \
        $(DIRECTORY)/windows/VC7/progs/glut/glut.vcproj
 
 DEPEND_FILES = \
        $(TOP)/src/mesa/depend          \
+       $(TOP)/src/glx/x11/depend       \
        $(TOP)/src/glw/depend           \
        $(TOP)/src/glut/glx/depend      \
        $(TOP)/src/glu/sgi/depend