# linux-cell  (non-debug build)

include $(TOP)/configs/default

CONFIG_NAME = linux-cell


# Omiting other gallium drivers:
GALLIUM_DRIVERS_DIRS = cell softpipe trace


# 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


CFLAGS = $(OPT_FLAGS) -Wall -Winline -Wmissing-prototypes \
	-fPIC -m32 -std=c99 -mabi=altivec -maltivec \
	-I. -I$(SDK)/include \
	-DGALLIUM_CELL -DUSE_XSHM -D_BSD_SOURCE -D_SVID_SOURCE

CXXFLAGS = $(CFLAGS)

# Omitting glw here:
SRC_DIRS = gallium mesa gallium/winsys glu glut/glx glew

# 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