[cig-commits] [commit] devel, master: build: Simplify linker rules using automatic vars. (d36048c)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Thu Nov 6 08:10:52 PST 2014


Repository : https://github.com/geodynamics/specfem3d_globe

On branches: devel,master
Link       : https://github.com/geodynamics/specfem3d_globe/compare/bc58e579b3b0838a0968725a076f5904845437ca...be63f20cbb6f462104e949894dbe205d2398cd7f

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

commit d36048c7ca5660bc53ed8695f2bf9c1eac92d972
Author: Elliott Sales de Andrade <esalesde at physics.utoronto.ca>
Date:   Fri Apr 18 23:56:50 2014 -0400

    build: Simplify linker rules using automatic vars.
    
    We can use $@ and $+ to get target and dependencies, which simplifies
    the linker rules a lot. This is especially useful for the auxiliaries
    directory, where there are several varied executables.


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

d36048c7ca5660bc53ed8695f2bf9c1eac92d972
 src/auxiliaries/rules.mk                        | 20 ++++++++++----------
 src/compute_optimized_dumping_undo_att/rules.mk |  6 +++---
 src/create_header_file/rules.mk                 |  4 ++--
 src/meshfem3D/rules.mk                          |  2 +-
 src/specfem3D/rules.mk                          |  8 ++++----
 5 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/src/auxiliaries/rules.mk b/src/auxiliaries/rules.mk
index 3c3e93a..795a019 100644
--- a/src/auxiliaries/rules.mk
+++ b/src/auxiliaries/rules.mk
@@ -92,34 +92,34 @@ all_aux: $(auxiliaries_TARGETS)
 aux: $(auxiliaries_TARGETS)
 
 ${E}/xconvolve_source_timefunction: $(auxiliaries_SHARED_OBJECTS) $O/convolve_source_timefunction.aux.o
-	${FCCOMPILE_CHECK} -o ${E}/xconvolve_source_timefunction $(auxiliaries_SHARED_OBJECTS) $O/convolve_source_timefunction.aux.o
+	${FCCOMPILE_CHECK} -o $@ $+
 
 ${E}/xcombine_AVS_DX: $(auxiliaries_SHARED_OBJECTS) $O/get_cmt.solver.o $O/combine_AVS_DX.aux.o
-	${FCCOMPILE_CHECK} -o ${E}/xcombine_AVS_DX $(auxiliaries_SHARED_OBJECTS) $O/get_cmt.solver.o $O/combine_AVS_DX.aux.o
+	${FCCOMPILE_CHECK} -o $@ $+
 
 ${E}/xcombine_paraview_strain_data: $(auxiliaries_SHARED_OBJECTS) $O/combine_paraview_strain_data.auxsolver.o $O/write_c_binary.cc.o
-	${FCCOMPILE_CHECK} -o ${E}/xcombine_paraview_strain_data $(auxiliaries_SHARED_OBJECTS) $O/combine_paraview_strain_data.auxsolver.o $O/write_c_binary.cc.o
+	${FCCOMPILE_CHECK} -o $@ $+
 
 ${E}/xcombine_vol_data: $(auxiliaries_SHARED_OBJECTS) $O/combine_vol_data.auxsolver.o $O/write_c_binary.cc.o $O/combine_vol_data_shared.aux.o
-	${FCCOMPILE_CHECK} -o ${E}/xcombine_vol_data $(auxiliaries_SHARED_OBJECTS) $O/combine_vol_data.auxsolver.o $O/write_c_binary.cc.o $O/combine_vol_data_shared.aux.o
+	${FCCOMPILE_CHECK} -o $@ $+
 
 ${E}/xcombine_vol_data_adios: $(auxiliaries_SHARED_OBJECTS) $O/combine_vol_data_adios_impl.auxmpi.o $O/combine_vol_data.auxadios.o $O/write_c_binary.cc.o $O/combine_vol_data_shared.aux.o
-	${MPIFCCOMPILE_CHECK} -o ${E}/xcombine_vol_data_adios $(auxiliaries_SHARED_OBJECTS) $O/combine_vol_data_adios_impl.auxmpi.o $O/combine_vol_data.auxadios.o $O/write_c_binary.cc.o $O/combine_vol_data_shared.aux.o $(MPILIBS)
+	${MPIFCCOMPILE_CHECK} -o $@ $+ $(MPILIBS)
 
 ${E}/xcombine_vol_data_vtk_adios: $(auxiliaries_SHARED_OBJECTS) $O/combine_vol_data_adios_impl.auxmpi.o $O/combine_vol_data.auxadios_vtk.o $O/write_c_binary.cc.o $O/combine_vol_data_shared.aux.o
-	${MPIFCCOMPILE_CHECK} -o ${E}/xcombine_vol_data_vtk_adios $(auxiliaries_SHARED_OBJECTS) $O/combine_vol_data_adios_impl.auxmpi.o $O/combine_vol_data.auxadios_vtk.o $O/write_c_binary.cc.o $O/combine_vol_data_shared.aux.o $(MPILIBS)
+	${MPIFCCOMPILE_CHECK} -o $@ $+ $(MPILIBS)
 
 ${E}/xcombine_vol_data_vtk: $(auxiliaries_SHARED_OBJECTS) $O/combine_vol_data.auxsolver_vtk.o $O/write_c_binary.cc.o $O/combine_vol_data_shared.aux.o
-	${FCCOMPILE_CHECK} -o ${E}/xcombine_vol_data_vtk $(auxiliaries_SHARED_OBJECTS) $O/combine_vol_data.auxsolver_vtk.o $O/write_c_binary.cc.o $O/combine_vol_data_shared.aux.o
+	${FCCOMPILE_CHECK} -o $@ $+
 
 ${E}/xcombine_surf_data: $(auxiliaries_SHARED_OBJECTS) $O/combine_surf_data.auxsolver.o $O/write_c_binary.cc.o
-	${FCCOMPILE_CHECK} -o ${E}/xcombine_surf_data $(auxiliaries_SHARED_OBJECTS) $O/combine_surf_data.auxsolver.o $O/write_c_binary.cc.o
+	${FCCOMPILE_CHECK} -o $@ $+
 
 ${E}/xcreate_movie_AVS_DX: $(auxiliaries_SHARED_OBJECTS) $O/create_movie_AVS_DX.aux.o
-	${FCCOMPILE_CHECK} -o ${E}/xcreate_movie_AVS_DX $(auxiliaries_SHARED_OBJECTS) $O/create_movie_AVS_DX.aux.o
+	${FCCOMPILE_CHECK} -o $@ $+
 
 ${E}/xcreate_movie_GMT_global: $(auxiliaries_SHARED_OBJECTS) $O/create_movie_GMT_global.aux.o
-	${FCCOMPILE_CHECK} -o ${E}/xcreate_movie_GMT_global $(auxiliaries_SHARED_OBJECTS) $O/create_movie_GMT_global.aux.o
+	${FCCOMPILE_CHECK} -o $@ $+
 
 ${E}/xextract_database: $(S_TOP)/utils/extract_database/extract_database.f90 ${OUTPUT}/values_from_mesher.h
 	${FCCOMPILE_CHECK} -o ${E}/xextract_database ${FCFLAGS_f90} $(S_TOP)/utils/extract_database/extract_database.f90
diff --git a/src/compute_optimized_dumping_undo_att/rules.mk b/src/compute_optimized_dumping_undo_att/rules.mk
index 82a7db4..4166fe4 100644
--- a/src/compute_optimized_dumping_undo_att/rules.mk
+++ b/src/compute_optimized_dumping_undo_att/rules.mk
@@ -65,11 +65,11 @@ compute_optimized_dumping_undo_att_SHARED_OBJECTS = \
 ####
 
 ${E}/xcompute_optimized_dumping_undo_att: $(compute_optimized_dumping_undo_att_SHARED_OBJECTS) $(compute_optimized_dumping_undo_att_OBJECTS)
-	${FCCOMPILE_CHECK} -o ${E}/xcompute_optimized_dumping_undo_att $(compute_optimized_dumping_undo_att_SHARED_OBJECTS) $(compute_optimized_dumping_undo_att_OBJECTS)
+	${FCCOMPILE_CHECK} -o $@ $+
 
-## uses MPI compiler to link executable instead (usedful for cross-compilation)
+## uses MPI compiler to link executable instead (useful for cross-compilation)
 #${E}/xcompute_optimized_dumping_undo_att: $(compute_optimized_dumping_undo_att_SHARED_OBJECTS) $(compute_optimized_dumping_undo_att_OBJECTS)
-#	${MPIFCCOMPILE_CHECK} -o ${E}/xcompute_optimized_dumping_undo_att $(compute_optimized_dumping_undo_att_SHARED_OBJECTS) $(compute_optimized_dumping_undo_att_OBJECTS)
+#	${MPIFCCOMPILE_CHECK} -o $@ $+
 
 #######################################
 
diff --git a/src/create_header_file/rules.mk b/src/create_header_file/rules.mk
index d382a8c..3334fdc 100644
--- a/src/create_header_file/rules.mk
+++ b/src/create_header_file/rules.mk
@@ -81,11 +81,11 @@ ${OUTPUT}/values_from_mesher.h: $E/xcreate_header_file $B/DATA/Par_file
 ####
 
 ${E}/xcreate_header_file: $(create_header_file_SHARED_OBJECTS) $(create_header_file_OBJECTS)
-	${FCCOMPILE_CHECK} -o ${E}/xcreate_header_file $(create_header_file_SHARED_OBJECTS) $(create_header_file_OBJECTS)
+	${FCCOMPILE_CHECK} -o $@ $+
 
 ## uses MPI compiler to link executable instead (useful for cross-compilation)
 #${E}/xcreate_header_file: $(create_header_file_SHARED_OBJECTS) $(create_header_file_OBJECTS)
-#	${MPIFCCOMPILE_CHECK} -o ${E}/xcreate_header_file $(create_header_file_SHARED_OBJECTS) $(create_header_file_OBJECTS)
+#	${MPIFCCOMPILE_CHECK} -o $@ $+
 
 #######################################
 
diff --git a/src/meshfem3D/rules.mk b/src/meshfem3D/rules.mk
index 83db604..3fdd269 100644
--- a/src/meshfem3D/rules.mk
+++ b/src/meshfem3D/rules.mk
@@ -236,7 +236,7 @@ endif
 
 ${E}/xmeshfem3D: $(meshfem3D_SHARED_OBJECTS) $(meshfem3D_OBJECTS)
 ## use MPI here
-	${MPIFCCOMPILE_CHECK} -o ${E}/xmeshfem3D $(meshfem3D_SHARED_OBJECTS) $(meshfem3D_OBJECTS) $(LDFLAGS) $(MPILIBS) $(LIBS)
+	${MPIFCCOMPILE_CHECK} -o $@ $+ $(LDFLAGS) $(MPILIBS) $(LIBS)
 
 #######################################
 
diff --git a/src/specfem3D/rules.mk b/src/specfem3D/rules.mk
index c41fcb6..71fbe9a 100644
--- a/src/specfem3D/rules.mk
+++ b/src/specfem3D/rules.mk
@@ -271,7 +271,7 @@ ${E}/xspecfem3D: $(specfem3D_OBJECTS) $(specfem3D_SHARED_OBJECTS)
 	@echo ""
 	@echo "building xspecfem3D with CUDA 5 support"
 	@echo ""
-	${FCLINK} -o ${E}/xspecfem3D $(specfem3D_OBJECTS) $(specfem3D_SHARED_OBJECTS) $(LDFLAGS) $(MPILIBS) $(CUDA_LINK) $(LIBS)
+	${FCLINK} -o $@ $+ $(LDFLAGS) $(MPILIBS) $(CUDA_LINK) $(LIBS)
 	@echo ""
 
 else
@@ -281,7 +281,7 @@ ${E}/xspecfem3D: $(specfem3D_OBJECTS) $(specfem3D_SHARED_OBJECTS)
 	@echo ""
 	@echo "building xspecfem3D with CUDA 4 support"
 	@echo ""
-	${FCLINK} -o ${E}/xspecfem3D $(specfem3D_OBJECTS) $(specfem3D_SHARED_OBJECTS) $(LDFLAGS) $(MPILIBS) $(CUDA_LINK) $(LIBS)
+	${FCLINK} -o $@ $+ $(LDFLAGS) $(MPILIBS) $(CUDA_LINK) $(LIBS)
 	@echo ""
 
 endif
@@ -295,8 +295,8 @@ ${E}/xspecfem3D: $(specfem3D_OBJECTS) $(specfem3D_SHARED_OBJECTS)
 	@echo ""
 ## use MPI here
 ## DK DK add OpenMP compiler flag here if needed
-#	${MPIFCCOMPILE_CHECK} -qsmp=omp -o ${E}/xspecfem3D $(specfem3D_OBJECTS) $(specfem3D_SHARED_OBJECTS) $(LDFLAGS) $(MPILIBS) $(LIBS)
-	${MPIFCCOMPILE_CHECK} -o ${E}/xspecfem3D $(specfem3D_OBJECTS) $(specfem3D_SHARED_OBJECTS) $(LDFLAGS) $(MPILIBS) $(LIBS)
+#	${MPIFCCOMPILE_CHECK} -qsmp=omp -o $@ $+ $(LDFLAGS) $(MPILIBS) $(LIBS)
+	${MPIFCCOMPILE_CHECK} -o $@ $+ $(LDFLAGS) $(MPILIBS) $(LIBS)
 	@echo ""
 
 endif



More information about the CIG-COMMITS mailing list