swr: remove LLVM dependency from source generation rules.
[mesa.git] / src / gallium / drivers / swr / Makefile.am
index d6d6e7dc611cb6292bde95e249030d70e9bee509..291b5b2167d63ece77190df7dd9bc604d0c89b37 100644 (file)
@@ -22,7 +22,7 @@
 include Makefile.sources
 include $(top_srcdir)/src/gallium/Automake.inc
 
-AM_CXXFLAGS = $(GALLIUM_DRIVER_CFLAGS)
+AM_CXXFLAGS = $(GALLIUM_DRIVER_CFLAGS) -std=c++11
 
 noinst_LTLIBRARIES = libmesaswr.la
 
@@ -30,7 +30,8 @@ libmesaswr_la_SOURCES = $(LOADER_SOURCES)
 
 COMMON_CXXFLAGS = \
        $(GALLIUM_DRIVER_CFLAGS) \
-       $(LLVM_CFLAGS) \
+       $(LLVM_CXXFLAGS) \
+       -std=c++11 \
        -I$(builddir)/rasterizer/scripts \
        -I$(builddir)/rasterizer/jitter \
        -I$(srcdir)/rasterizer \
@@ -46,6 +47,7 @@ COMMON_SOURCES = \
        $(BUILT_SOURCES)
 
 BUILT_SOURCES = \
+       swr_context_llvm.h \
        rasterizer/scripts/gen_knobs.cpp \
        rasterizer/scripts/gen_knobs.h \
        rasterizer/jitter/state_llvm.h \
@@ -54,6 +56,12 @@ BUILT_SOURCES = \
        rasterizer/jitter/builder_x86.h \
        rasterizer/jitter/builder_x86.cpp
 
+swr_context_llvm.h: rasterizer/jitter/scripts/gen_llvm_types.py swr_context.h
+       $(PYTHON2) $(PYTHON_FLAGS) \
+               $(srcdir)/rasterizer/jitter/scripts/gen_llvm_types.py \
+               --input $(srcdir)/swr_context.h \
+               --output swr_context_llvm.h
+
 rasterizer/scripts/gen_knobs.cpp rasterizer/scripts/gen_knobs.h: rasterizer/scripts/gen_knobs.py rasterizer/scripts/knob_defs.py rasterizer/scripts/templates/knobs.template
        $(PYTHON2) $(PYTHON_FLAGS) \
                $(srcdir)/rasterizer/scripts/gen_knobs.py \
@@ -65,14 +73,14 @@ rasterizer/jitter/state_llvm.h: rasterizer/jitter/scripts/gen_llvm_types.py rast
                --input $(srcdir)/rasterizer/core/state.h \
                --output rasterizer/jitter/state_llvm.h
 
-rasterizer/jitter/builder_gen.h: rasterizer/jitter/scripts/gen_llvm_ir_macros.py $(LLVM_INCLUDEDIR)/llvm/IR/IRBuilder.h
+rasterizer/jitter/builder_gen.h: rasterizer/jitter/scripts/gen_llvm_ir_macros.py
        $(PYTHON2) $(PYTHON_FLAGS) \
                $(srcdir)/rasterizer/jitter/scripts/gen_llvm_ir_macros.py \
                --input $(LLVM_INCLUDEDIR)/llvm/IR/IRBuilder.h \
                --output rasterizer/jitter/builder_gen.h \
                --gen_h
 
-rasterizer/jitter/builder_gen.cpp: rasterizer/jitter/scripts/gen_llvm_ir_macros.py $(LLVM_INCLUDEDIR)/llvm/IR/IRBuilder.h
+rasterizer/jitter/builder_gen.cpp: rasterizer/jitter/scripts/gen_llvm_ir_macros.py
        $(PYTHON2) $(PYTHON_FLAGS) \
                $(srcdir)/rasterizer/jitter/scripts/gen_llvm_ir_macros.py \
                --input $(LLVM_INCLUDEDIR)/llvm/IR/IRBuilder.h \
@@ -94,7 +102,16 @@ rasterizer/jitter/builder_x86.cpp: rasterizer/jitter/scripts/gen_llvm_ir_macros.
 
 COMMON_LIBADD = \
        $(top_builddir)/src/gallium/auxiliary/libgallium.la \
-       $(top_builddir)/src/mesa/libmesagallium.la
+       $(top_builddir)/src/mesa/libmesagallium.la \
+       $(LLVM_LIBS)
+
+COMMON_LDFLAGS = \
+       -shared \
+       -module \
+       -no-undefined \
+       $(GC_SECTIONS) \
+       $(NO_UNDEFINED) \
+       $(LLVM_LDFLAGS)
 
 lib_LTLIBRARIES = libswrAVX.la libswrAVX2.la
 
@@ -109,6 +126,9 @@ libswrAVX_la_SOURCES = \
 libswrAVX_la_LIBADD = \
        $(COMMON_LIBADD)
 
+libswrAVX_la_LDFLAGS = \
+       $(COMMON_LDFLAGS)
+
 libswrAVX2_la_CXXFLAGS = \
        -march=core-avx2 \
        -DKNOB_ARCH=KNOB_ARCH_AVX2 \
@@ -120,4 +140,31 @@ libswrAVX2_la_SOURCES = \
 libswrAVX2_la_LIBADD = \
        $(COMMON_LIBADD)
 
+libswrAVX2_la_LDFLAGS = \
+       $(COMMON_LDFLAGS)
+
 include $(top_srcdir)/install-gallium-links.mk
+
+EXTRA_DIST = \
+       rasterizer/jitter/scripts/gen_llvm_ir_macros.py \
+       rasterizer/jitter/scripts/gen_llvm_types.py \
+       rasterizer/scripts/gen_knobs.py \
+       rasterizer/scripts/knob_defs.py \
+       rasterizer/scripts/mako/ast.py \
+       rasterizer/scripts/mako/_ast_util.py \
+       rasterizer/scripts/mako/cache.py \
+       rasterizer/scripts/mako/cmd.py \
+       rasterizer/scripts/mako/codegen.py \
+       rasterizer/scripts/mako/compat.py \
+       rasterizer/scripts/mako/exceptions.py \
+       rasterizer/scripts/mako/filters.py \
+       rasterizer/scripts/mako/__init__.py \
+       rasterizer/scripts/mako/lexer.py \
+       rasterizer/scripts/mako/lookup.py \
+       rasterizer/scripts/mako/parsetree.py \
+       rasterizer/scripts/mako/pygen.py \
+       rasterizer/scripts/mako/pyparser.py \
+       rasterizer/scripts/mako/runtime.py \
+       rasterizer/scripts/mako/template.py \
+       rasterizer/scripts/mako/util.py \
+       rasterizer/scripts/templates/knobs.template