mesa: sync up with latest Makefile changes on master
authorBrian Paul <brian.paul@tungstengraphics.com>
Fri, 6 Jun 2008 18:32:58 +0000 (12:32 -0600)
committerBrian Paul <brian.paul@tungstengraphics.com>
Fri, 6 Jun 2008 18:33:40 +0000 (12:33 -0600)
src/mesa/Makefile
src/mesa/drivers/Makefile [new file with mode: 0644]
src/mesa/drivers/beos/Makefile
src/mesa/drivers/directfb/Makefile

index 42096f808889fefdc60789ccd70876bbb58f8f03..d39f282b3380b590034663c9ccf4727d31c8d446 100644 (file)
@@ -6,11 +6,6 @@ include $(TOP)/configs/current
 include sources
 
 
-GL_MAJOR = 1
-GL_MINOR = 5
-GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY)
-
-
 .SUFFIXES : .cpp
 
 .c.o:
@@ -23,7 +18,10 @@ GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY)
        $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
 
 
-default: depend subdirs libmesa.a libglapi.a
+
+# Default: build dependencies, then asm_subdirs, then convenience
+# libs (.a) and finally the device drivers:
+default: depend asm_subdirs libmesa.a libglapi.a driver_subdirs
 
 
 
@@ -32,85 +30,64 @@ default: depend subdirs libmesa.a libglapi.a
 
 # Make archive of core mesa object files
 libmesa.a: $(SOLO_OBJECTS)
-       @ $(TOP)/bin/mklib -o mesa -static $(SOLO_OBJECTS);
-       @if [ "${CONFIG_NAME}" = "beos" ] ; then \
-               mimeset -f "$@" ; \
-       fi
+       @ $(TOP)/bin/mklib -o mesa -static $(SOLO_OBJECTS)
 
 # Make archive of gl* API dispatcher functions only
 libglapi.a: $(GLAPI_OBJECTS)
        @ $(TOP)/bin/mklib -o glapi -static $(GLAPI_OBJECTS)
 
 
-
 ######################################################################
-# BeOS driver target
-
-beos-driver: depend subdirs libmesa.a
-       cd drivers/beos && $(MAKE)
+# Device drivers
+driver_subdirs:
+       (cd drivers && $(MAKE))
 
 
 ######################################################################
-# DRI drivers
-
-dri-drivers: depend subdirs libmesa.a
-       cd drivers/dri && $(MAKE)
+# Assembly subdirs
+asm_subdirs:
+       @ if echo "$(ASM_FLAGS)" | grep -q USE_X86_ASM ; then \
+               (cd x86 && $(MAKE)) || exit 1 ; \
+       fi
+       @ if echo "$(ASM_FLAGS)" | grep -q USE_X86_64_ASM ; then \
+               (cd x86 && $(MAKE)) || exit 1 ; \
+               (cd x86-64 && $(MAKE)) || exit 1 ; \
+       fi
 
 
 ######################################################################
-# Xlib driver (libGL.so)
+# Dependency generation
 
-xlib-driver: depend subdirs libmesa.a libglapi.a
-       cd drivers/x11 && $(MAKE)
+depend: $(ALL_SOURCES)
+       @ echo "running $(MKDEP)"
+       @ touch depend
+       @$(MKDEP) $(MKDEP_OPTIONS) $(DEFINES) $(INCLUDE_DIRS) $(ALL_SOURCES) \
+               > /dev/null 2>/dev/null
 
 
 ######################################################################
-# osmesa driver (libOSMesa.so)
-
-osmesa-driver: depend subdirs libmesa.a libglapi.a
-       cd drivers/osmesa && $(MAKE)
-
-
-#####################################################################
-# fbdev driver (libGL.so)
-
-fbdev-driver: depend subdirs libmesa.a libglapi.a
-       cd drivers/fbdev && $(MAKE)
-
-
-#####################################################################
-# DirectFB driver (libGL.so)
+# Installation rules
 
-directfb-libgl: $(CORE_OBJECTS)
-       @ $(TOP)/bin/mklib -o $(GL_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
-               -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
-               -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) $(CORE_OBJECTS) \
-               $(GL_LIB_DEPS)
+# this isn't fleshed out yet but is probably the way to go in the future
+new_install:
+       (cd drivers && $(MAKE) install)
 
-directfb-driver: depend subdirs directfb-libgl
-       cd drivers/directfb && $(MAKE)
 
-
-######################################################################
-# Generic stuff
-
-depend: $(ALL_SOURCES)
-       @ echo "running $(MKDEP)"
-       @ rm -f depend  # workaround oops on gutsy?!?
-       @ touch depend
-       @ $(MKDEP) $(MKDEP_OPTIONS) $(DEFINES) $(INCLUDE_DIRS) $(ALL_SOURCES) \
-               > /dev/null 2>/dev/null
+# XXX replace this with new_install above someday
+install: default
+       @for driver in $(DRIVER_DIRS) ; do \
+         case "$$driver" in \
+           osmesa) if [ "$(DRIVER_DIRS)" = osmesa ]; then \
+                     $(MAKE) install-headers install-osmesa || exit 1 ; \
+                   else \
+                     $(MAKE) install-osmesa || exit 1 ; \
+                   fi ;; \
+           dri)    $(MAKE) install-libgl install-dri || exit 1 ;; \
+           *)      $(MAKE) install-libgl || exit 1 ;; \
+         esac ; \
+       done
 
 
-subdirs:
-       @ if echo "$(ASM_FLAGS)" | grep -q USE_X86_ASM ; then \
-               (cd x86 && $(MAKE)) || exit 1 ; \
-       fi
-       @ if echo "$(ASM_FLAGS)" | grep -q USE_X86_64_ASM ; then \
-               (cd x86 && $(MAKE)) || exit 1 ; \
-               (cd x86-64 && $(MAKE)) || exit 1 ; \
-       fi
-
 pcedit = sed \
        -e 's,@INSTALL_DIR@,$(INSTALL_DIR),' \
        -e 's,@LIB_DIR@,$(LIB_DIR),' \
@@ -119,33 +96,44 @@ pcedit = sed \
 gl.pc: gl.pc.in
        $(pcedit) $< > $@
 
-install: default
-       $(INSTALL) -d $(INSTALL_DIR)/include/GL
-       $(INSTALL) -d $(INSTALL_DIR)/$(LIB_DIR)
-       $(INSTALL) -m 644 $(TOP)/include/GL/*.h $(INSTALL_DIR)/include/GL
-       @if [ -e $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) ]; then \
-               $(INSTALL) $(TOP)/$(LIB_DIR)/libGL* $(INSTALL_DIR)/$(LIB_DIR); \
-       fi
-       @if [ -e $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME) ]; then \
-               $(INSTALL) $(TOP)/$(LIB_DIR)/libOSMesa* $(INSTALL_DIR)/$(LIB_DIR); \
-       fi
+install-headers:
+       $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GL
+       $(INSTALL) -m 644 $(TOP)/include/GL/*.h \
+               $(DESTDIR)$(INSTALL_DIR)/include/GL
+
+install-libgl: default gl.pc install-headers
+       $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
+       $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig
+       $(INSTALL) $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)* \
+               $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
+       $(INSTALL) -m 644 gl.pc $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig
+
+install-osmesa: default
+       $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
+       $(INSTALL) $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME)* \
+               $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)
+
+install-dri:
+       cd drivers/dri && $(MAKE) install
 
-## NOT INSTALLED YET:
-## $(INSTALL) -d $(INSTALL_DIR)/include/GLES
-## $(INSTALL) -m 644 include/GLES/*.h $(INSTALL_DIR)/include/GLES
 
 
 # Emacs tags
 tags:
        etags `find . -name \*.[ch]` $(TOP)/include/GL/*.h
 
+
 clean:
        -rm -f */*.o
        -rm -f */*/*.o
        -rm -f depend depend.bak libmesa.a libglapi.a
        -rm -f drivers/*/*.o
-       (cd x86 && $(MAKE) clean)
-       (cd x86-64 && $(MAKE) clean)
+       -@cd drivers/dri && $(MAKE) clean
+       -@cd drivers/xorg && $(MAKE) clean
+       -@cd drivers/x11 && $(MAKE) clean
+       -@cd drivers/osmesa && $(MAKE) clean
+       -@cd x86 && $(MAKE) clean
+       -@cd x86-64 && $(MAKE) clean
 
 
-include depend
+-include depend
diff --git a/src/mesa/drivers/Makefile b/src/mesa/drivers/Makefile
new file mode 100644 (file)
index 0000000..c599841
--- /dev/null
@@ -0,0 +1,29 @@
+# src/mesa/drivers/Makefile
+
+TOP = ../../..
+include $(TOP)/configs/current
+
+
+default:
+       @for dir in $(DRIVER_DIRS) ; do \
+               if [ -d $$dir ] ; then \
+                       (cd $$dir && $(MAKE)) || exit 1; \
+               fi \
+       done
+
+
+clean:
+       @for dir in $(DRIVER_DIRS) ; do \
+               if [ -d $$dir ] ; then \
+                       (cd $$dir && $(MAKE) clean) || exit 1; \
+               fi \
+       done
+
+
+install:
+       @for dir in $(DRIVER_DIRS) ; do \
+               if [ -d $$dir ] ; then \
+                       (cd $$dir && $(MAKE) install) || exit 1; \
+               fi \
+       done
+
index f8b7eb69a4ef70b667234edd9b9c5d678c49426a..342d7ce0243c87acb0a5797cd2d8e8478cb08aa0 100644 (file)
@@ -169,28 +169,30 @@ OBJECTS := $(DRIVER_OBJECTS:.cpp=.o)
 
 default: depend $(TOP)/$(LIB_DIR) $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
 
+# XXX FIXME: mesa.a might be libmesa.a now
 $(MESA_MODULES):
-       cd $(TOP)/src/mesa; $(MAKE) mesa.a ;
+       cd $(TOP)/src/mesa && $(MAKE) mesa.a ;
+       mimeset -f "$@"
 
 $(GLU_MODULES):
-       cd $(GLU_DIR); $(MAKE) $(subst $(GLU_DIR)/,,$(GLU_MODULES)) ; 
+       cd $(GLU_DIR) && $(MAKE) $(subst $(GLU_DIR)/,,$(GLU_MODULES)) ;
 
 $(TOP)/$(LIB_DIR):
        mkdir $(TOP)/$(LIB_DIR)
 
 $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME): $(OBJECTS) $(MESA_MODULES) $(GLU_MODULES)
-       @$(TOP)/bin/mklib -o $(GL_LIB) -install $(TOP)/$(LIB_DIR) -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
+       @$(TOP)/bin/mklib -o $(GL_LIB) -ldflags '$(LDFLAGS)' -install $(TOP)/$(LIB_DIR) \
+               -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
                $(MKLIB_OPTIONS) $(GL_LIB_DEPS) $(OBJECTS) $(MESA_MODULES) $(GLU_MODULES)
 
 # $(GLU_OBJECTS):
-#      cd $(GLU_DIR); $(MAKE) $< ;
+#      cd $(GLU_DIR) && $(MAKE) $< ;
 
 depend: $(DRIVER_SOURCES) $(GLU_SOURCES)
-       rm -f depend
        touch depend
        $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDES) $(DRIVER_SOURCES) $(GLU_SOURCES) > /dev/null 
 
 clean:
-       rm -f depend $(OBJECTS)
+       -rm -f depend depend.bak $(OBJECTS)
 
 include depend
index c515785b2a168cf7b592e36bb06a26d211c6d6fb..945eb8b3d9bad8ae02ef592f9968e531da976379 100644 (file)
@@ -25,11 +25,24 @@ DIRECTFBGL_MESA_OBJECTS = $(DIRECTFBGL_MESA_SOURCES:.c=.o)
 
 DIRECTFBGL_MESA = libidirectfbgl_mesa.so
 
+LIBS = $(TOP)/src/mesa/libmesa.a $(TOP)/src/mesa/libglapi.a
+
+
 .c.o:
        $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DFB_CFLAGS) $< -o $@
 
 
-default: directfbgl_mesa
+default: directfb-libgl directfbgl_mesa
+
+
+# XXX this used to be in src/mesa/Makefile and is probably broken now
+directfb-libgl: $(CORE_OBJECTS)
+       @ $(TOP)/bin/mklib -o $(GL_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
+               -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
+               -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) $(CORE_OBJECTS) \
+               $(GL_LIB_DEPS)
+
+
 
 # Mesa DirectFBGL module
 directfbgl_mesa: $(DIRECTFBGL_MESA_OBJECTS)
@@ -50,5 +63,5 @@ install:
 
 
 clean:
-       rm -f *.o *.so
+       -rm -f *.o *.so