blob: 27e082ebf7e2b85b37144e03b6d830edd4762327 [file] [log] [blame]
Zack Rusin9789c302008-01-04 09:27:42 -05001# -*-makefile-*-
Brian Paul04794082009-12-18 11:12:59 -07002# Configuration for Linux and LLVM with optimizations
Brian Paul1ea1cd82009-08-18 16:28:23 -06003# Builds the llvmpipe gallium driver
Zack Rusinb04430e2007-10-22 11:00:28 -04004
5include $(TOP)/configs/linux
6
Zack Rusin63a9d832007-11-09 10:08:15 -05007CONFIG_NAME = linux-llvm
Zack Rusinb04430e2007-10-22 11:00:28 -04008
Brian Paul4c6fd572009-08-18 16:58:12 -06009# Add llvmpipe driver
10GALLIUM_DRIVERS_DIRS += llvmpipe
José Fonsecabfd59162008-02-18 14:25:04 +090011
Brian Paul04794082009-12-18 11:12:59 -070012OPT_FLAGS = -O3 -ansi -pedantic
13ARCH_FLAGS = -m32 -mmmx -msse -msse2 -mstackrealign
14
Zack Rusinc61bf362010-02-08 18:05:22 -050015DEFINES += -DNDEBUG -DGALLIUM_LLVMPIPE -DDRAW_LLVM -DHAVE_UDIS86
Brian Paul1ea1cd82009-08-18 16:28:23 -060016
17# override -std=c99
18CFLAGS += -std=gnu99
Zack Rusinb04430e2007-10-22 11:00:28 -040019
20LLVM_VERSION := $(shell llvm-config --version)
21
22ifeq ($(LLVM_VERSION),)
23 $(warning Could not find LLVM! Make Sure 'llvm-config' is in the path)
Zack Rusind76a7b62007-10-24 08:34:01 -040024 MESA_LLVM=0
Zack Rusinb04430e2007-10-22 11:00:28 -040025else
Zack Rusind76a7b62007-10-24 08:34:01 -040026 MESA_LLVM=1
Brian Paul1ea1cd82009-08-18 16:28:23 -060027# $(info Using LLVM version: $(LLVM_VERSION))
Zack Rusinb04430e2007-10-22 11:00:28 -040028endif
29
Zack Rusind76a7b62007-10-24 08:34:01 -040030ifeq ($(MESA_LLVM),1)
Zack Rusin9789c302008-01-04 09:27:42 -050031# LLVM_CFLAGS=`llvm-config --cflags`
Kamalneet Singh37fdfe82009-03-09 16:05:44 +053032 LLVM_CXXFLAGS=`llvm-config --cxxflags backend bitreader engine ipo interpreter instrumentation` -Wno-long-long
Brian Paul1ea1cd82009-08-18 16:28:23 -060033 LLVM_LDFLAGS = $(shell llvm-config --ldflags backend bitreader engine ipo interpreter instrumentation)
Chris Li476b6682010-02-05 01:29:43 -080034 LLVM_LIBS = $(shell llvm-config --libs backend bitwriter bitreader engine ipo interpreter instrumentation)
Michel Dänzer8568fad2007-10-25 18:24:51 +020035 MKLIB_OPTIONS=-cplusplus
Zack Rusinb04430e2007-10-22 11:00:28 -040036else
Zack Rusind76a7b62007-10-24 08:34:01 -040037 LLVM_CFLAGS=
38 LLVM_CXXFLAGS=
Zack Rusinb04430e2007-10-22 11:00:28 -040039endif
40
Stephane Marchesin3f4b67f2008-09-30 20:50:49 +020041LD = g++
Brian Pauld6d4f8b2009-08-19 13:23:02 -060042GL_LIB_DEPS = $(LLVM_LDFLAGS) $(LLVM_LIBS) $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread -lstdc++ -ludis86