[cig-commits] [commit] QA: build: Add module dependencies to rules. (8a7bed3)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Fri Jan 17 04:27:54 PST 2014


Repository : ssh://geoshell/specfem3d

On branch  : QA
Link       : https://github.com/geodynamics/specfem3d/compare/6c327a1cde359cefa65f66e5b7981bfe995f92e3...4359ed56c14ef8f87387f46c8b705a1d395a40ba

>---------------------------------------------------------------

commit 8a7bed3a125fdb30098e411ab38a19344ee13560
Author: Elliott Sales de Andrade <esalesde at physics.utoronto.ca>
Date:   Mon Jan 13 19:23:30 2014 -0500

    build: Add module dependencies to rules.
    
    This should fix parallel builds by ensuring modules are created before
    they are used by any source files.
    
    Fixes #84.


>---------------------------------------------------------------

8a7bed3a125fdb30098e411ab38a19344ee13560
 Makefile.in                        | 10 +++---
 src/generate_databases/Makefile.in | 40 ++++++++++++++++++++++
 src/meshfem3D/Makefile.in          |  9 +++++
 src/specfem3D/Makefile.in          | 68 ++++++++++++++++++++++++++++++++++++++
 4 files changed, 122 insertions(+), 5 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index fe4e84a..76fdcdb 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -58,9 +58,9 @@ RANLIB = ranlib
 # default targets for the pure Fortran version
 @COND_PYRE_FALSE at DEFAULT = \
 @COND_PYRE_FALSE@	xdecompose_mesh \
- at COND_PYRE_FALSE@	meshfem3D \
- at COND_PYRE_FALSE@	generate_databases \
- at COND_PYRE_FALSE@	specfem3D \
+ at COND_PYRE_FALSE@	xmeshfem3D \
+ at COND_PYRE_FALSE@	xgenerate_databases \
+ at COND_PYRE_FALSE@	xspecfem3D \
 @COND_PYRE_FALSE@	$(EMPTY_MACRO)
 
 
@@ -103,10 +103,10 @@ xmeshfem3D:
 	$(MAKE) -C src/meshfem3D
 
 xspecfem3D:
-	$(MAKE) -C src/specfem3D specfem3D
+	$(MAKE) -C src/specfem3D xspecfem3D
 
 xgenerate_databases:
-	$(MAKE) -C src/generate_databases generate_databases
+	$(MAKE) -C src/generate_databases xgenerate_databases
 
 xdecompose_mesh:
 	$(MAKE) -C src/decompose_mesh
diff --git a/src/generate_databases/Makefile.in b/src/generate_databases/Makefile.in
index 5606e56..85d5c86 100644
--- a/src/generate_databases/Makefile.in
+++ b/src/generate_databases/Makefile.in
@@ -212,6 +212,46 @@ $L/libgendatabases.a: $(libgendatabases_a_OBJECTS)
 #######################################
 
 ###
+### Module dependencies
+###
+
+$O/calc_jacobian.o: $O/generate_databases_par.o
+$O/create_mass_matrices.o: $O/generate_databases_par.o
+$O/fault_generate_databases.o: $O/generate_databases_par.o
+$O/finalize_databases.o: $O/generate_databases_par.o
+$O/get_absorbing_boundary.o: $O/generate_databases_par.o
+$O/get_coupling_surfaces.o: $O/generate_databases_par.o
+$O/get_model.o: $O/generate_databases_par.o
+$O/get_MPI.o: $O/generate_databases_par.o
+$O/memory_eval.o: $O/generate_databases_par.o
+$O/model_1d_cascadia.o: $O/generate_databases_par.o
+$O/model_1d_prem.o: $O/generate_databases_par.o
+$O/model_1d_socal.o: $O/generate_databases_par.o
+$O/model_default.o: $O/generate_databases_par.o
+$O/model_external_values.o: $O/generate_databases_par.o
+$O/model_gll.o: $O/generate_databases_par.o
+$O/model_gll_adios.o: $O/generate_databases_par.o
+$O/model_ipati.o: $O/generate_databases_par.o
+$O/model_ipati_adios.o: $O/generate_databases_par.o
+$O/model_salton_trough.o: $O/generate_databases_par.o
+$O/pml_set_local_dampingcoeff.o: $O/generate_databases_par.o
+$O/read_partition_files.o: $O/generate_databases_par.o
+$O/read_partition_files_adios.o: $O/generate_databases_par.o
+$O/save_arrays_solver.o: $O/generate_databases_par.o
+$O/setup_color_perm.o: $O/generate_databases_par.o
+$O/setup_mesh.o: $O/generate_databases_par.o
+
+$O/create_regions_mesh.o: $O/generate_databases_par.o $O/fault_generate_databases.o
+
+$O/model_tomography.o: $O/generate_databases_par.o $O/tomography_par.o
+
+$O/generate_databases.o: $O/generate_databases_par.o $(ADIOS_PREOBJECTS)
+$O/save_arrays_solver_adios.o: $O/generate_databases_par.o $(ADIOS_PREOBJECTS)
+$O/save_moho_adios.o: $O/generate_databases_par.o $(ADIOS_PREOBJECTS)
+
+$O/generate_databases_adios_stubs.o: $(ADIOS_PREOBJECTS)
+
+###
 ### ADIOS compilation
 ###
 
diff --git a/src/meshfem3D/Makefile.in b/src/meshfem3D/Makefile.in
index f72164a..0e600b5 100644
--- a/src/meshfem3D/Makefile.in
+++ b/src/meshfem3D/Makefile.in
@@ -193,6 +193,15 @@ $L/libmeshfem.a: $(libmeshfem_a_OBJECTS)
 #######################################
 
 ###
+### Module dependencies
+###
+
+$O/meshfem3D_adios_stubs.o: $O/adios_manager_stubs.shared_noadios.o
+$O/meshfem3D.o: $O/create_regions_mesh.o $O/read_mesh_parameter_file.o
+$O/save_databases.o: $O/safe_alloc_mod.shared.o $(ADIOS_PREOBJECTS)
+$O/create_regions_mesh.o: $(ADIOS_PREOBJECTS)
+
+###
 ### ADIOS compilation
 ###
 
diff --git a/src/specfem3D/Makefile.in b/src/specfem3D/Makefile.in
index b7c7454..7e79791 100644
--- a/src/specfem3D/Makefile.in
+++ b/src/specfem3D/Makefile.in
@@ -440,6 +440,74 @@ $L/libspecfem.a: $(libspecfem_a_OBJECTS)
 ####
 
 ###
+### Module dependencies
+###
+
+$O/check_stability.o: $O/specfem3D_par.o
+$O/compute_add_sources_acoustic.o: $O/specfem3D_par.o
+$O/compute_add_sources_poroelastic.o: $O/specfem3D_par.o
+$O/compute_add_sources_viscoelastic.o: $O/specfem3D_par.o
+$O/compute_boundary_kernel.o: $O/specfem3D_par.o
+$O/compute_forces_poroelastic_calling_routine.o: $O/specfem3D_par.o
+$O/compute_forces_poro_fluid_part.o: $O/specfem3D_par.o
+$O/compute_forces_poro_solid_part.o: $O/specfem3D_par.o
+$O/compute_kernels.o: $O/specfem3D_par.o
+$O/compute_stacey_viscoelastic.o: $O/specfem3D_par.o
+$O/create_color_image.o: $O/specfem3D_par.o
+$O/detect_mesh_surfaces.o: $O/specfem3D_par.o
+$O/fault_solver_common.o: $O/specfem3D_par.o
+$O/gravity_perturbation.o: $O/specfem3D_par.o
+$O/locate_source.o: $O/specfem3D_par.o
+$O/model_update.o: $O/specfem3D_par.o
+$O/pml_par.o: $O/specfem3D_par.o
+$O/setup_GLL_points.o: $O/specfem3D_par.o
+$O/setup_movie_meshes.o: $O/specfem3D_par.o
+$O/setup_sources_receivers.o: $O/specfem3D_par.o
+$O/specfem3D.o: $O/specfem3D_par.o
+$O/save_adjoint_kernels.o: $O/specfem3D_par.o
+$O/save_external_bin_m_up.o: $O/specfem3D_par.o
+$O/write_movie_output.o: $O/specfem3D_par.o
+$O/write_output_SU.o: $O/specfem3D_par.o
+$O/write_seismograms.o: $O/specfem3D_par.o
+
+$O/compute_coupling_acoustic_el.o: $O/pml_par.o
+$O/compute_coupling_viscoelastic_ac.o: $O/pml_par.o
+
+$O/compute_forces_acoustic_calling_routine.o: $O/specfem3D_par.o $O/pml_par.o
+$O/compute_forces_acoustic_Dev.o: $O/specfem3D_par.o $O/pml_par.o
+$O/compute_forces_acoustic_noDev.o: $O/specfem3D_par.o $O/pml_par.o
+$O/compute_total_energy.o: $O/specfem3D_par.o $O/pml_par.o
+$O/pml_allocate_arrays.o: $O/specfem3D_par.o $O/pml_par.o
+$O/pml_compute_accel_contribution.o: $O/specfem3D_par.o $O/pml_par.o
+$O/pml_compute_memory_variables.o: $O/specfem3D_par.o $O/pml_par.o
+$O/pml_output_VTKs.o: $O/specfem3D_par.o $O/pml_par.o
+$O/read_forward_arrays_adios.o: $O/specfem3D_par.o $O/pml_par.o
+$O/read_mesh_databases_adios.o: $O/specfem3D_par.o $O/pml_par.o
+$O/read_mesh_databases.o: $O/specfem3D_par.o $O/pml_par.o
+$O/update_displacement_scheme.o: $O/specfem3D_par.o $O/pml_par.o
+
+$O/fault_solver_dynamic.o: $O/specfem3D_par.o $O/fault_solver_common.o
+$O/fault_solver_kinematic.o: $O/specfem3D_par.o $O/fault_solver_common.o
+
+$O/compute_forces_viscoelastic_Dev.o: $O/specfem3D_par.o $O/pml_par.o $O/fault_solver_dynamic.o
+$O/compute_forces_viscoelastic_noDev.o: $O/specfem3D_par.o $O/pml_par.o $O/fault_solver_dynamic.o
+
+$O/compute_forces_viscoelastic_calling_routine.o: $O/specfem3D_par.o $O/pml_par.o $O/fault_solver_dynamic.o $O/fault_solver_kinematic.o
+
+$O/iterate_time.o: $O/specfem3D_par.o $O/gravity_perturbation.o
+
+$O/prepare_timerun.o: $O/specfem3D_par.o $O/pml_par.o $O/fault_solver_dynamic.o $O/fault_solver_kinematic.o $O/gravity_perturbation.o
+
+$O/initialize_simulation.o: $O/specfem3D_par.o $(ADIOS_PRESTUBS)
+$O/save_kernels_adios.o: $O/specfem3D_par.o $(ADIOS_PRESTUBS)
+
+$O/save_forward_arrays_adios.o: $O/specfem3D_par.o $O/pml_par.o $(ADIOS_PRESTUBS)
+
+$O/finalize_simulation.o: $O/specfem3D_par.o $O/pml_par.o $O/gravity_perturbation.o $(ADIOS_PRESTUBS)
+
+$O/specfem3D_adios_stubs.o: $O/adios_manager_stubs.shared_noadios.o
+
+###
 ### optimized flags (not dependent on values from mesher anymore)
 ###
 #######################################



More information about the CIG-COMMITS mailing list