gallium: updated cell build
authorBrian <brian.paul@tungstengraphics.com>
Tue, 19 Feb 2008 18:14:54 +0000 (11:14 -0700)
committerBrian <brian.paul@tungstengraphics.com>
Tue, 19 Feb 2008 18:14:54 +0000 (11:14 -0700)
Building on Ian's Cell build fix.
Put libcell.a in the gallium/drivers/cell/ directory.
General Makefile clean-up, simplification, updated comments.

src/gallium/drivers/cell/ppu/Makefile
src/gallium/winsys/xlib/Makefile

index 196ab777f5447db563316fcf1300ea90cff4cdb6..3c3f622a2fc3fd093d2665d3cb9b51d4e475b892 100644 (file)
@@ -1,6 +1,6 @@
 # Gallium3D Cell driver: PPU code
 
-# This makefile builds the g3dcell.a library which gets pulled into
+# This makefile builds the libcell.a library which gets pulled into
 # the main libGL.so library
 
 
@@ -8,10 +8,14 @@ TOP = ../../../../..
 include $(TOP)/configs/linux-cell
 
 
-#PROG = gl4
+# This is the "top-level" cell PPU driver code, will get pulled into libGL.so
+# by the winsys Makefile.
+CELL_LIB = ../libcell.a
 
-CELL_LIB = libcell.a
 
+# This is the SPU code.  We'd like to be able to put this into the libcell.a
+# archive with the PPU code, but nesting .a libs doesn't seem to work.
+# So, it's pulled into libGL.so in gallium/winsys/xlib/Makefile
 SPU_CODE_MODULE = ../spu/g3d_spu.a
 
 
@@ -56,7 +60,7 @@ default: $(CELL_LIB)
 
 
 $(CELL_LIB): $(OBJECTS) $(SPU_CODE_MODULE)
-#      ar -ru $(CELL_LIB) $(OBJECTS) $(SPU_CODE_MODULE)
+#      ar -ru $(CELL_LIB) $(OBJECTS) $(SPU_CODE_MODULE) # doesn't work
        ar -ru $(CELL_LIB) $(OBJECTS)
 
 #$(PROG): $(PPU_OBJECTS)
index 17405388eeb37e835b8b8cbe31528501c1557a5f..09f10e5ea870a9d11ac0a7228a6d0f7e51d436b2 100644 (file)
@@ -1,4 +1,4 @@
-# src/mesa/Makefile
+# src/gallium/winsys/xlib/Makefile
 
 TOP = ../../../..
 include $(TOP)/configs/current
@@ -27,16 +27,17 @@ GL_MINOR = 5
 GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY)
 
 
+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 = \
        $(GALLIUM_DRIVERS) \
        $(TOP)/src/mesa/libglapi.a \
        $(TOP)/src/mesa/libmesa.a \
-       $(GALLIUM_AUXILIARIES)
-
-ifeq ($(CONFIG_NAME), linux-cell)
-CELL_LIB = $(TOP)/src/gallium/drivers/cell/ppu/libcell.a
-CELL_LIB_SPU = $(TOP)/src/gallium/drivers/cell/spu/g3d_spu.a
-endif
+       $(GALLIUM_AUXILIARIES) \
+       $(CELL_SPU_LIB) \
 
 
 .SUFFIXES : .cpp
@@ -65,13 +66,13 @@ STAND_ALONE_OBJECTS = \
        $(STAND_ALONE_DRIVER_OBJECTS)
 
 # Make the GL library
-$(TOP)/$(LIB_DIR)/$(GL_LIB_NAME): $(STAND_ALONE_OBJECTS) $(PIPE_LIB) $(CELL_LIB) $(CELL_LIB_SPU)
+$(TOP)/$(LIB_DIR)/$(GL_LIB_NAME): $(STAND_ALONE_OBJECTS) $(PIPE_LIB)
        $(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 $(CELL_LIB) $(CELL_LIB_SPU) $(GL_LIB_DEPS)
+               --start-group $(PIPE_LIB) --end-group $(GL_LIB_DEPS)
 
 
 ######################################################################