# linux-cell  (non-debug build)

include $(TOP)/configs/linux

CONFIG_NAME = linux-cell


# Omiting other gallium drivers:
GALLIUM_DRIVERS_DIRS = cell softpipe trace rbug identity


# Compiler and flags
CC = ppu32-gcc
CXX = ppu32-g++
HOST_CC = gcc
APP_CC = gcc
APP_CXX = g++

OPT_FLAGS = -O3

# Cell SDK location
## For SDK 2.1: (plus, remove -DSPU_MAIN_PARAM_LONG_LONG below)
#SDK = /opt/ibm/cell-sdk/prototype/sysroot/usr
## For SDK 3.0:
SDK = /opt/cell/sdk/usr



COMMON_C_CPP_FLAGS = $(OPT_FLAGS) -Wall -Winline \
	-fPIC -m32 -mabi=altivec -maltivec \
	-I. -I$(SDK)/include \
	-DGALLIUM_CELL $(DEFINES)

CFLAGS = $(COMMON_C_CPP_FLAGS) -Wmissing-prototypes -std=c99

CXXFLAGS = $(COMMON_C_CPP_FLAGS)


# Omitting glw here:
SRC_DIRS = glsl mapi/glapi mapi/vgapi mesa \
	gallium gallium/winsys gallium/targets glu glut/glx

# Build no traditional Mesa drivers:
DRIVER_DIRS =


MKDEP_OPTIONS = -fdepend -Y


GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread \
	-L$(SDK)/lib -m32 -Wl,-m,elf32ppc -R$(SDK)/lib -lspe2


CELL_SPU_LIB = $(TOP)/src/gallium/drivers/cell/spu/g3d_spu.a


### SPU stuff

SPU_CC = spu-gcc

SPU_CFLAGS = $(OPT_FLAGS) -W -Wall -Winline -Wmissing-prototypes -Wno-main \
	-I. -I$(SDK)/spu/include -I$(TOP)/src/mesa/ $(INCLUDE_DIRS) \
	-DSPU_MAIN_PARAM_LONG_LONG \
	-include spu_intrinsics.h

SPU_LFLAGS = -L$(SDK)/spu/lib -Wl,-N -lmisc -lm

SPU_AR = ppu-ar
SPU_AR_FLAGS = -qcs

SPU_EMBED = ppu32-embedspu
SPU_EMBED_FLAGS = -m32