Merge branch 'mesa_7_5_branch'
[mesa.git] / src / gallium / winsys / xlib / Makefile
index 09f10e5ea870a9d11ac0a7228a6d0f7e51d436b2..522f6dc5aee0991cba36a4de45bfb91a70008f01 100644 (file)
@@ -1,41 +1,53 @@
 # src/gallium/winsys/xlib/Makefile
 
+# This makefile produces a "stand-alone" libGL.so which is based on
+# Xlib (no DRI HW acceleration)
+
+
 TOP = ../../../..
 include $(TOP)/configs/current
 
 
+GL_MAJOR = 1
+GL_MINOR = 5
+GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY)
+
+
 INCLUDE_DIRS = \
        -I$(TOP)/include \
        -I$(TOP)/src/mesa \
        -I$(TOP)/src/mesa/main \
        -I$(TOP)/src/gallium/include \
        -I$(TOP)/src/gallium/drivers \
+       -I$(TOP)/src/gallium/state_trackers/glx/xlib \
        -I$(TOP)/src/gallium/auxiliary
 
-X11_DRIVER_SOURCES = \
-       glxapi.c        \
-       fakeglx.c       \
-       xfonts.c        \
-       xm_api.c        \
-       xm_winsys.c     \
-       xm_winsys_aub.c \
-       brw_aub.c
+DEFINES += \
+       -DGALLIUM_SOFTPIPE \
+       -DGALLIUM_TRACE \
+       -DGALLIUM_BRW
+#-DGALLIUM_CELL will be defined by the config */
 
+XLIB_WINSYS_SOURCES = \
+       xlib.c \
+       xlib_cell.c \
+       xlib_brw_aub.c \
+       xlib_brw_context.c \
+       xlib_brw_screen.c \
+       xlib_softpipe.c \
+       xlib_trace.c 
 
-GL_MAJOR = 1
-GL_MINOR = 5
-GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY)
 
+XLIB_WINSYS_OBJECTS = $(XLIB_WINSYS_SOURCES:.c=.o)
 
-ifeq ($(CONFIG_NAME), linux-cell)
-# The SPU code is in a separate .a file, unfortunately
-CELL_SPU_LIB = $(TOP)/src/gallium/drivers/cell/spu/g3d_spu.a
-endif
 
-PIPE_LIB = \
+# Note: CELL_SPU_LIB is only defined for cell configs
+
+LIBS = \
        $(GALLIUM_DRIVERS) \
+       $(TOP)/src/gallium/state_trackers/glx/xlib/libxlib.a \
        $(TOP)/src/mesa/libglapi.a \
-       $(TOP)/src/mesa/libmesa.a \
+       $(TOP)/src/mesa/libmesagallium.a \
        $(GALLIUM_AUXILIARIES) \
        $(CELL_SPU_LIB) \
 
@@ -43,46 +55,33 @@ PIPE_LIB = \
 .SUFFIXES : .cpp
 
 .c.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
+       $(CC) -c $(INCLUDE_DIRS) $(DEFINES) $(CFLAGS) $< -o $@
 
 .cpp.o:
-       $(CXX) -c $(INCLUDE_DIRS) $(CXXFLAGS) $< -o $@
-
-.S.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
+       $(CXX) -c $(INCLUDE_DIRS) $(DEFINES) $(CXXFLAGS) $< -o $@
 
 
-default: $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
 
+default: $(TOP)/$(LIB_DIR)/gallium $(TOP)/$(LIB_DIR)/gallium/$(GL_LIB_NAME)
 
-######################################################################
-# Stand-alone Mesa libGL and libOSMesa
-STAND_ALONE_DRIVER_SOURCES = \
-       $(X11_DRIVER_SOURCES)
+$(TOP)/$(LIB_DIR)/gallium:
+       @ mkdir -p $(TOP)/$(LIB_DIR)/gallium
 
-STAND_ALONE_DRIVER_OBJECTS = $(STAND_ALONE_DRIVER_SOURCES:.c=.o)
-
-STAND_ALONE_OBJECTS = \
-       $(STAND_ALONE_DRIVER_OBJECTS)
-
-# Make the GL library
-$(TOP)/$(LIB_DIR)/$(GL_LIB_NAME): $(STAND_ALONE_OBJECTS) $(PIPE_LIB)
+# Make the libGL.so library
+$(TOP)/$(LIB_DIR)/gallium/$(GL_LIB_NAME): $(XLIB_WINSYS_OBJECTS) $(LIBS) Makefile
        $(TOP)/bin/mklib -o $(GL_LIB) \
                -linker "$(CC)" \
                -major $(GL_MAJOR) -minor $(GL_MINOR) -patch $(GL_TINY) \
-               -install $(TOP)/$(LIB_DIR) \
-               $(MKLIB_OPTIONS) $(STAND_ALONE_OBJECTS) \
-               --start-group $(PIPE_LIB) --end-group $(GL_LIB_DEPS)
+               -install $(TOP)/$(LIB_DIR)/gallium \
+               $(MKLIB_OPTIONS) $(XLIB_WINSYS_OBJECTS) \
+               -Wl,--start-group $(LIBS) -Wl,--end-group $(GL_LIB_DEPS)
 
 
-######################################################################
-# Generic stuff
-
-depend: $(ALL_SOURCES)
+depend: $(XLIB_WINSYS_SOURCES)
        @ echo "running $(MKDEP)"
        @ rm -f depend  # workaround oops on gutsy?!?
        @ touch depend
-       @ $(MKDEP) $(MKDEP_OPTIONS) $(DEFINES) $(INCLUDE_DIRS) $(ALL_SOURCES) \
+       $(MKDEP) $(MKDEP_OPTIONS) $(DEFINES) $(INCLUDE_DIRS) $(XLIB_WINSYS_SOURCES) \
                > /dev/null 2>/dev/null
 
 
@@ -91,13 +90,9 @@ install: default
        $(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); \
+               $(MINSTALL) $(TOP)/$(LIB_DIR)/libGL* $(INSTALL_DIR)/$(LIB_DIR); \
        fi
 
-## NOT INSTALLED YET:
-## $(INSTALL) -d $(INSTALL_DIR)/include/GLES
-## $(INSTALL) -m 644 include/GLES/*.h $(INSTALL_DIR)/include/GLES
-
 
 # Emacs tags
 tags: