diff options
author | Pauli Nieminen <pauli.nieminen@linux.intel.com> | 2012-06-13 11:27:39 +0300 |
---|---|---|
committer | Pauli Nieminen <pauli.nieminen@linux.intel.com> | 2012-06-13 11:27:39 +0300 |
commit | aab3eb3f8339237833f8627ddfce5d3d5538993a (patch) | |
tree | c06e748ec0201a224208b567a058c669abf13e9d | |
parent | ae419a0159eeba6138d8c72a54737190cb6b1626 (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.am | 7 | ||||
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | src/mesa/drivers/dri/Makefile.am | 4 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/Android.mk | 4 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/Makefile.am | 13 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/Makefile.sources | 256 |
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 = |