summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPauli Nieminen <pauli.nieminen@linux.intel.com>2012-06-13 11:27:39 +0300
committerPauli Nieminen <pauli.nieminen@linux.intel.com>2012-06-13 11:27:39 +0300
commitaab3eb3f8339237833f8627ddfce5d3d5538993a (patch)
treec06e748ec0201a224208b567a058c669abf13e9d
parentae419a0159eeba6138d8c72a54737190cb6b1626 (diff)
make/i965: Use non-recursive makenon-recursive-make
Recrusive make is versiony bad for highly parallel build because each directory is a barrier. Those each directory drops to single threaded execution for a short moment. Problem can be solved by switching to non-recursive make. That allows parallel make schedule work from any subdirectory if all dependecies are met for the build target. But non-recursive automake has a few rules that has to be followed: * All paths have to be relative to top source directory * All included makefiles has to use unique variables and make targets * Must append to *_LTLIBRARIES or *_PROGRAMS instead of assigment Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
-rw-r--r--Makefile.am7
-rw-r--r--configure.ac1
-rw-r--r--src/mesa/drivers/dri/Makefile.am4
-rw-r--r--src/mesa/drivers/dri/i965/Android.mk4
-rw-r--r--src/mesa/drivers/dri/i965/Makefile.am13
-rw-r--r--src/mesa/drivers/dri/i965/Makefile.sources256
6 files changed, 143 insertions, 142 deletions
diff --git a/Makefile.am b/Makefile.am
index 59fd9b5849..5cb993ac90 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -121,4 +121,11 @@ md5: $(ARCHIVES)
@-md5sum $(PACKAGE_NAME).tar.bz2
@-md5sum $(PACKAGE_NAME).zip
+dri_LTLIBRARIES =
+AUTOMAKE_OPTIONS = subdir-objects
+
+TOP=$(top_builddir)
+
+include src/mesa/drivers/dri/i965/Makefile.am
+
.PHONY: tarballs md5
diff --git a/configure.ac b/configure.ac
index 29ee87bb00..bc8b3b5c67 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2173,7 +2173,6 @@ AC_CONFIG_FILES([configs/autoconf
src/mesa/drivers/dri/Makefile
src/mesa/drivers/dri/common/Makefile
src/mesa/drivers/dri/i915/Makefile
- src/mesa/drivers/dri/i965/Makefile
src/mesa/drivers/dri/nouveau/Makefile
src/mesa/drivers/dri/r200/Makefile
src/mesa/drivers/dri/radeon/Makefile
diff --git a/src/mesa/drivers/dri/Makefile.am b/src/mesa/drivers/dri/Makefile.am
index 48d36858bb..5ea5803e5b 100644
--- a/src/mesa/drivers/dri/Makefile.am
+++ b/src/mesa/drivers/dri/Makefile.am
@@ -8,10 +8,6 @@ if HAVE_I915_DRI
SUBDIRS+=i915
endif
-if HAVE_I965_DRI
-SUBDIRS+=i965
-endif
-
if HAVE_NOUVEAU_DRI
SUBDIRS+=nouveau
endif
diff --git a/src/mesa/drivers/dri/i965/Android.mk b/src/mesa/drivers/dri/i965/Android.mk
index fbc6fc0e1d..300c175418 100644
--- a/src/mesa/drivers/dri/i965/Android.mk
+++ b/src/mesa/drivers/dri/i965/Android.mk
@@ -22,7 +22,7 @@
# DEALINGS IN THE SOFTWARE.
#
-LOCAL_PATH := $(call my-dir)
+LOCAL_PATH := $(MESA_TOP)
include $(CLEAR_VARS)
LOCAL_MODULE := i965_dri
@@ -30,7 +30,7 @@ LOCAL_MODULE_PATH := $(MESA_DRI_MODULE_PATH)
LOCAL_UNSTRIPPED_PATH := $(MESA_DRI_MODULE_UNSTRIPPED_PATH)
# Import variables i965_*.
-include $(LOCAL_PATH)/Makefile.sources
+include $(LOCAL_PATH)/src/mesa/drivers/dri/i965/Makefile.sources
LOCAL_CFLAGS := \
$(MESA_DRI_CFLAGS)
diff --git a/src/mesa/drivers/dri/i965/Makefile.am b/src/mesa/drivers/dri/i965/Makefile.am
index f5dfced999..0c1822f4b4 100644
--- a/src/mesa/drivers/dri/i965/Makefile.am
+++ b/src/mesa/drivers/dri/i965/Makefile.am
@@ -21,10 +21,7 @@
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
-include Makefile.sources
-
-# Hack to make some of the non-automake variables work.
-TOP=$(top_builddir)
+include src/mesa/drivers/dri/i965/Makefile.sources
AM_CFLAGS = \
-I$(top_srcdir)/include \
@@ -44,7 +41,7 @@ AM_CXXFLAGS = $(AM_CFLAGS)
dridir = $(DRI_DRIVER_INSTALL_DIR)
if HAVE_I965_DRI
-dri_LTLIBRARIES = i965_dri.la
+dri_LTLIBRARIES += i965_dri.la
endif
i965_dri_la_SOURCES = \
@@ -55,10 +52,12 @@ i965_dri_la_LDFLAGS = -module -avoid-version -shared
i965_dri_la_LIBADD = \
$(DRI_LIB_DEPS) \
$(INTEL_LIBS) \
- ../common/libdricommon.la
+ src/mesa/drivers/dri/common/libdricommon.la
# Provide compatibility with scripts for the old Mesa build system for
# a while by putting a link to the driver into /lib of the build tree.
-all-local: i965_dri.la
+i965_symlink: i965_dri.la
$(MKDIR_P) $(top_builddir)/$(LIB_DIR);
ln -f .libs/i965_dri.so $(top_builddir)/$(LIB_DIR)/i965_dri.so;
+
+all-local: i965_symlink
diff --git a/src/mesa/drivers/dri/i965/Makefile.sources b/src/mesa/drivers/dri/i965/Makefile.sources
index 82143ac5b5..f325011692 100644
--- a/src/mesa/drivers/dri/i965/Makefile.sources
+++ b/src/mesa/drivers/dri/i965/Makefile.sources
@@ -3,135 +3,135 @@ i965_INCLUDES = \
$(MESA_TOP)/src/mesa/drivers/dri/intel
i965_C_FILES = \
- intel_batchbuffer.c \
- intel_blit.c \
- intel_buffer_objects.c \
- intel_buffers.c \
- intel_context.c \
- intel_extensions.c \
- intel_fbo.c \
- intel_mipmap_tree.c \
- intel_regions.c \
- intel_resolve_map.c \
- intel_screen.c \
- intel_span.c \
- intel_pixel.c \
- intel_pixel_bitmap.c \
- intel_pixel_copy.c \
- intel_pixel_draw.c \
- intel_pixel_read.c \
- intel_state.c \
- intel_syncobj.c \
- intel_tex.c \
- intel_tex_copy.c \
- intel_tex_format.c \
- intel_tex_image.c \
- intel_tex_layout.c \
- intel_tex_subimage.c \
- intel_tex_validate.c \
- brw_cc.c \
- brw_clear.c \
- brw_clip.c \
- brw_clip_line.c \
- brw_clip_point.c \
- brw_clip_state.c \
- brw_clip_tri.c \
- brw_clip_unfilled.c \
- brw_clip_util.c \
- brw_context.c \
- brw_curbe.c \
- brw_disasm.c \
- brw_draw.c \
- brw_draw_upload.c \
- brw_eu.c \
- brw_eu_debug.c \
- brw_eu_emit.c \
- brw_eu_util.c \
- brw_fallback.c \
- brw_gs.c \
- brw_gs_emit.c \
- brw_gs_state.c \
- brw_misc_state.c \
- brw_optimize.c \
- brw_program.c \
- brw_primitive_restart.c \
- brw_queryobj.c \
- brw_sf.c \
- brw_sf_emit.c \
- brw_sf_state.c \
- brw_state_batch.c \
- brw_state_cache.c \
- brw_state_dump.c \
- brw_state_upload.c \
- brw_tex.c \
- brw_tex_layout.c \
- brw_urb.c \
- brw_util.c \
- brw_vs.c \
- brw_vs_constval.c \
- brw_vs_emit.c \
- brw_vs_state.c \
- brw_vs_surface_state.c \
- brw_vtbl.c \
- brw_wm.c \
- brw_wm_debug.c \
- brw_wm_emit.c \
- brw_wm_fp.c \
- brw_wm_iz.c \
- brw_wm_pass0.c \
- brw_wm_pass1.c \
- brw_wm_pass2.c \
- brw_wm_sampler_state.c \
- brw_wm_state.c \
- brw_wm_surface_state.c \
- gen6_cc.c \
- gen6_clip_state.c \
- gen6_depthstencil.c \
- gen6_gs_state.c \
- gen6_multisample_state.c \
- gen6_sampler_state.c \
- gen6_scissor_state.c \
- gen6_sf_state.c \
- gen6_sol.c \
- gen6_urb.c \
- gen6_viewport_state.c \
- gen6_vs_state.c \
- gen6_wm_state.c \
- gen7_cc_state.c \
- gen7_clip_state.c \
- gen7_disable.c \
- gen7_misc_state.c \
- gen7_sampler_state.c \
- gen7_sf_state.c \
- gen7_sol_state.c \
- gen7_urb.c \
- gen7_viewport_state.c \
- gen7_vs_state.c \
- gen7_wm_state.c \
- gen7_wm_surface_state.c
+ src/mesa/drivers/dri/i965/intel_batchbuffer.c \
+ src/mesa/drivers/dri/i965/intel_blit.c \
+ src/mesa/drivers/dri/i965/intel_buffer_objects.c \
+ src/mesa/drivers/dri/i965/intel_buffers.c \
+ src/mesa/drivers/dri/i965/intel_context.c \
+ src/mesa/drivers/dri/i965/intel_extensions.c \
+ src/mesa/drivers/dri/i965/intel_fbo.c \
+ src/mesa/drivers/dri/i965/intel_mipmap_tree.c \
+ src/mesa/drivers/dri/i965/intel_regions.c \
+ src/mesa/drivers/dri/i965/intel_resolve_map.c \
+ src/mesa/drivers/dri/i965/intel_screen.c \
+ src/mesa/drivers/dri/i965/intel_span.c \
+ src/mesa/drivers/dri/i965/intel_pixel.c \
+ src/mesa/drivers/dri/i965/intel_pixel_bitmap.c \
+ src/mesa/drivers/dri/i965/intel_pixel_copy.c \
+ src/mesa/drivers/dri/i965/intel_pixel_draw.c \
+ src/mesa/drivers/dri/i965/intel_pixel_read.c \
+ src/mesa/drivers/dri/i965/intel_state.c \
+ src/mesa/drivers/dri/i965/intel_syncobj.c \
+ src/mesa/drivers/dri/i965/intel_tex.c \
+ src/mesa/drivers/dri/i965/intel_tex_copy.c \
+ src/mesa/drivers/dri/i965/intel_tex_format.c \
+ src/mesa/drivers/dri/i965/intel_tex_image.c \
+ src/mesa/drivers/dri/i965/intel_tex_layout.c \
+ src/mesa/drivers/dri/i965/intel_tex_subimage.c \
+ src/mesa/drivers/dri/i965/intel_tex_validate.c \
+ src/mesa/drivers/dri/i965/brw_cc.c \
+ src/mesa/drivers/dri/i965/brw_clear.c \
+ src/mesa/drivers/dri/i965/brw_clip.c \
+ src/mesa/drivers/dri/i965/brw_clip_line.c \
+ src/mesa/drivers/dri/i965/brw_clip_point.c \
+ src/mesa/drivers/dri/i965/brw_clip_state.c \
+ src/mesa/drivers/dri/i965/brw_clip_tri.c \
+ src/mesa/drivers/dri/i965/brw_clip_unfilled.c \
+ src/mesa/drivers/dri/i965/brw_clip_util.c \
+ src/mesa/drivers/dri/i965/brw_context.c \
+ src/mesa/drivers/dri/i965/brw_curbe.c \
+ src/mesa/drivers/dri/i965/brw_disasm.c \
+ src/mesa/drivers/dri/i965/brw_draw.c \
+ src/mesa/drivers/dri/i965/brw_draw_upload.c \
+ src/mesa/drivers/dri/i965/brw_eu.c \
+ src/mesa/drivers/dri/i965/brw_eu_debug.c \
+ src/mesa/drivers/dri/i965/brw_eu_emit.c \
+ src/mesa/drivers/dri/i965/brw_eu_util.c \
+ src/mesa/drivers/dri/i965/brw_fallback.c \
+ src/mesa/drivers/dri/i965/brw_gs.c \
+ src/mesa/drivers/dri/i965/brw_gs_emit.c \
+ src/mesa/drivers/dri/i965/brw_gs_state.c \
+ src/mesa/drivers/dri/i965/brw_misc_state.c \
+ src/mesa/drivers/dri/i965/brw_optimize.c \
+ src/mesa/drivers/dri/i965/brw_program.c \
+ src/mesa/drivers/dri/i965/brw_primitive_restart.c \
+ src/mesa/drivers/dri/i965/brw_queryobj.c \
+ src/mesa/drivers/dri/i965/brw_sf.c \
+ src/mesa/drivers/dri/i965/brw_sf_emit.c \
+ src/mesa/drivers/dri/i965/brw_sf_state.c \
+ src/mesa/drivers/dri/i965/brw_state_batch.c \
+ src/mesa/drivers/dri/i965/brw_state_cache.c \
+ src/mesa/drivers/dri/i965/brw_state_dump.c \
+ src/mesa/drivers/dri/i965/brw_state_upload.c \
+ src/mesa/drivers/dri/i965/brw_tex.c \
+ src/mesa/drivers/dri/i965/brw_tex_layout.c \
+ src/mesa/drivers/dri/i965/brw_urb.c \
+ src/mesa/drivers/dri/i965/brw_util.c \
+ src/mesa/drivers/dri/i965/brw_vs.c \
+ src/mesa/drivers/dri/i965/brw_vs_constval.c \
+ src/mesa/drivers/dri/i965/brw_vs_emit.c \
+ src/mesa/drivers/dri/i965/brw_vs_state.c \
+ src/mesa/drivers/dri/i965/brw_vs_surface_state.c \
+ src/mesa/drivers/dri/i965/brw_vtbl.c \
+ src/mesa/drivers/dri/i965/brw_wm.c \
+ src/mesa/drivers/dri/i965/brw_wm_debug.c \
+ src/mesa/drivers/dri/i965/brw_wm_emit.c \
+ src/mesa/drivers/dri/i965/brw_wm_fp.c \
+ src/mesa/drivers/dri/i965/brw_wm_iz.c \
+ src/mesa/drivers/dri/i965/brw_wm_pass0.c \
+ src/mesa/drivers/dri/i965/brw_wm_pass1.c \
+ src/mesa/drivers/dri/i965/brw_wm_pass2.c \
+ src/mesa/drivers/dri/i965/brw_wm_sampler_state.c \
+ src/mesa/drivers/dri/i965/brw_wm_state.c \
+ src/mesa/drivers/dri/i965/brw_wm_surface_state.c \
+ src/mesa/drivers/dri/i965/gen6_cc.c \
+ src/mesa/drivers/dri/i965/gen6_clip_state.c \
+ src/mesa/drivers/dri/i965/gen6_depthstencil.c \
+ src/mesa/drivers/dri/i965/gen6_gs_state.c \
+ src/mesa/drivers/dri/i965/gen6_multisample_state.c \
+ src/mesa/drivers/dri/i965/gen6_sampler_state.c \
+ src/mesa/drivers/dri/i965/gen6_scissor_state.c \
+ src/mesa/drivers/dri/i965/gen6_sf_state.c \
+ src/mesa/drivers/dri/i965/gen6_sol.c \
+ src/mesa/drivers/dri/i965/gen6_urb.c \
+ src/mesa/drivers/dri/i965/gen6_viewport_state.c \
+ src/mesa/drivers/dri/i965/gen6_vs_state.c \
+ src/mesa/drivers/dri/i965/gen6_wm_state.c \
+ src/mesa/drivers/dri/i965/gen7_cc_state.c \
+ src/mesa/drivers/dri/i965/gen7_clip_state.c \
+ src/mesa/drivers/dri/i965/gen7_disable.c \
+ src/mesa/drivers/dri/i965/gen7_misc_state.c \
+ src/mesa/drivers/dri/i965/gen7_sampler_state.c \
+ src/mesa/drivers/dri/i965/gen7_sf_state.c \
+ src/mesa/drivers/dri/i965/gen7_sol_state.c \
+ src/mesa/drivers/dri/i965/gen7_urb.c \
+ src/mesa/drivers/dri/i965/gen7_viewport_state.c \
+ src/mesa/drivers/dri/i965/gen7_vs_state.c \
+ src/mesa/drivers/dri/i965/gen7_wm_state.c \
+ src/mesa/drivers/dri/i965/gen7_wm_surface_state.c
i965_CXX_FILES = \
- brw_blorp.cpp \
- brw_blorp_blit.cpp \
- brw_cubemap_normalize.cpp \
- brw_fs.cpp \
- brw_fs_cfg.cpp \
- brw_fs_cse.cpp \
- brw_fs_copy_propagation.cpp \
- brw_fs_emit.cpp \
- brw_fs_live_variables.cpp \
- brw_fs_visitor.cpp \
- brw_fs_channel_expressions.cpp \
- brw_fs_reg_allocate.cpp \
- brw_fs_schedule_instructions.cpp \
- brw_fs_vector_splitting.cpp \
- brw_shader.cpp \
- brw_vec4.cpp \
- brw_vec4_emit.cpp \
- brw_vec4_copy_propagation.cpp \
- brw_vec4_reg_allocate.cpp \
- brw_vec4_visitor.cpp \
- gen6_blorp.cpp \
- gen7_blorp.cpp
+ src/mesa/drivers/dri/i965/brw_blorp.cpp \
+ src/mesa/drivers/dri/i965/brw_blorp_blit.cpp \
+ src/mesa/drivers/dri/i965/brw_cubemap_normalize.cpp \
+ src/mesa/drivers/dri/i965/brw_fs.cpp \
+ src/mesa/drivers/dri/i965/brw_fs_cfg.cpp \
+ src/mesa/drivers/dri/i965/brw_fs_cse.cpp \
+ src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp \
+ src/mesa/drivers/dri/i965/brw_fs_emit.cpp \
+ src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp \
+ src/mesa/drivers/dri/i965/brw_fs_visitor.cpp \
+ src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp \
+ src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp \
+ src/mesa/drivers/dri/i965/brw_fs_schedule_instructions.cpp \
+ src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp \
+ src/mesa/drivers/dri/i965/brw_shader.cpp \
+ src/mesa/drivers/dri/i965/brw_vec4.cpp \
+ src/mesa/drivers/dri/i965/brw_vec4_emit.cpp \
+ src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp \
+ src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp \
+ src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp \
+ src/mesa/drivers/dri/i965/gen6_blorp.cpp \
+ src/mesa/drivers/dri/i965/gen7_blorp.cpp
i965_ASM_FILES =