Files
guru/sys-cluster/sionlib/files/sionlib-build-shared-libraries.patch
Alessandro Barbieri d99c7de558 sys-cluster/sionlib: fix linking between libraries
Closes: https://bugs.gentoo.org/817845
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
2021-10-15 23:41:23 +02:00

386 lines
18 KiB
Diff

--- a/src/cppinterface/Makefile
+++ b/src/cppinterface/Makefile
@@ -30,7 +30,7 @@
ifeq ($(CXXENABLE),1)
USER_HDRS = sion_cxx_base.hpp sion_cxx_serial.hpp sion_cxx_common.hpp sion_cxx_mpi.hpp sion_cxx_ompi.hpp sion_cxx_omp.hpp
-USER_LIBS = lib$(SION_LIBNAME_CXX_SER).a lib$(SION_LIBNAME_CXX_MPI).a
+USER_LIBS = lib$(SION_LIBNAME_CXX_SER).so lib$(SION_LIBNAME_CXX_MPI).so
else
USER_HDRS =
USER_LIBS =
@@ -57,13 +57,15 @@
all: $(USER_LIBS)
+../lib/lib$(SION_LIBNAME_SER).so :
+ make -C ../lib lib$(SION_LIBNAME_SER).so
-lib$(SION_LIBNAME_CXX_SER).a : $(SION_OBJS_SER)
- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_SER)
+lib$(SION_LIBNAME_CXX_SER).so : $(SION_OBJS_SER) ../lib/lib$(SION_LIBNAME_SER).so
+ $(CXX) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_CXX_SER).so -shared -o $@ $(SION_OBJS_SER) -L../lib -l$(SION_LIBNAME_SER)
@echo "*** $@ built"
-lib$(SION_LIBNAME_CXX_MPI).a : $(SION_OBJS_MPI)
- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_MPI)
+lib$(SION_LIBNAME_CXX_MPI).so : $(SION_OBJS_MPI)
+ $(MPICXX) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_CXX_MPI).so -shared -o $@ $(SION_OBJS_MPI)
@echo "*** $@ built"
sion_cxx_base.o :
@@ -118,7 +120,7 @@
done
clean:
- rm -f *.o lib*.a
+ rm -f *.o lib*.so
#------------------------------------------------------------------------------
# Dependencies
--- a/src/fortraninterface/Makefile
+++ b/src/fortraninterface/Makefile
@@ -39,7 +39,7 @@
USER_HDRS = sion_f77.H sion_f77.h
USER_MODS = sion_f90.mod
-USER_LIBS = lib$(SION_LIBNAME_F77_SER).a lib$(SION_LIBNAME_F77_MPI).a lib$(SION_LIBNAME_F90_SER).a lib$(SION_LIBNAME_F90_MPI).a
+USER_LIBS = lib$(SION_LIBNAME_F77_SER).so lib$(SION_LIBNAME_F77_MPI).so lib$(SION_LIBNAME_F90_SER).so lib$(SION_LIBNAME_F90_MPI).so
else
USER_HDRS =
USER_MODS =
@@ -56,39 +56,47 @@
SION_OBJS_F77_SER += sion_f77_omp.o sion_fortran_omp.o
SION_OBJS_F90_SER += sion_f90_omp.o sion_fortran_omp.o
USER_MODS += sion_f90_omp.mod
+ F77_SER_LIBS = $(OMPFLAG) -L../parlib -l$(SION_LIBNAME_OMP) -L../lib -l$(SION_LIBNAME_GEN)
+ F90_SER_LIBS = $(OMPFLAG) -L../parlib -l$(SION_LIBNAME_OMP) -L../lib -l$(SION_LIBNAME_GEN)
endif
ifeq ($(MPIENABLE),1)
SION_OBJS_F77_MPI += sion_f77_mpi.o sion_fortran_mpi.o sion_fortran_writeread_mpi_f77.o
SION_OBJS_F90_MPI += sion_f90_mpi.o sion_fortran_mpi.o sion_fortran_writeread_mpi_f90.o
USER_MODS += sion_f90_mpi.mod
+ F77_MPI_LIBS = -L../parlib -l$(SION_LIBNAME_MPI)
+ F90_MPI_LIBS = -L../parlib -l$(SION_LIBNAME_MPI)
endif
ifeq ($(HYBENABLE),1)
SION_OBJS_F77_MPI += sion_f77_ompi.o sion_fortran_ompi.o
SION_OBJS_F90_MPI += sion_f90_ompi.o sion_fortran_ompi.o
USER_MODS += sion_f90_ompi.mod
+ F77_MPI_LIBS = $(HYBFLAG) -L../parlib -l$(SION_LIBNAME_OMPI)
+ F90_MPI_LIBS = $(HYBFLAG) -L../parlib -l$(SION_LIBNAME_OMPI)
endif
SION_DEPEND_OBJS=sion_fortran.o sion_fortran_omp.o sion_fortran_mpi.o sion_fortran_ompi.o sion_fortran_writeread_f77.o sion_fortran_writeread_f90.o sion_fortran_writeread_mpi_f77.o sion_fortran_writeread_mpi_f90.o
all: $(USER_LIBS) $(USER_MODS)
+../lib/lib$(SION_LIBNAME_SER).so :
+ make -C ../lib lib$(SION_LIBNAME_SER).so
-lib$(SION_LIBNAME_F77_SER).a : $(SION_OBJS_F77_SER)
- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_F77_SER)
+lib$(SION_LIBNAME_F77_SER).so : $(SION_OBJS_F77_SER) ../lib/lib$(SION_LIBNAME_SER).so
+ $(F77) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_F77_SER).so -shared -o $@ $(SION_OBJS_F77_SER) $(F77_SER_LIBS)
@echo "*** $@ built"
-lib$(SION_LIBNAME_F77_MPI).a : $(SION_OBJS_F77_MPI)
- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_F77_MPI)
+lib$(SION_LIBNAME_F77_MPI).so : $(SION_OBJS_F77_MPI)
+ $(MPIF77) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_F77_MPI).so -shared -o $@ $(SION_OBJS_F77_MPI) $(F77_MPI_LIBS)
@echo "*** $@ built"
-lib$(SION_LIBNAME_F90_SER).a : $(SION_OBJS_F90_SER)
- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_F90_SER)
+lib$(SION_LIBNAME_F90_SER).so : $(SION_OBJS_F90_SER) ../lib/lib$(SION_LIBNAME_SER).so
+ $(F90) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_F90_SER).so -shared -o $@ $(SION_OBJS_F90_SER) $(F90_SER_LIBS)
@echo "*** $@ built"
-lib$(SION_LIBNAME_F90_MPI).a : $(SION_OBJS_F90_MPI)
- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_F90_MPI)
+lib$(SION_LIBNAME_F90_MPI).so : $(SION_OBJS_F90_MPI)
+ $(MPIF90) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_F90_MPI).so -shared -o $@ $(SION_OBJS_F90_MPI) $(F90_MPI_LIBS)
@echo "*** $@ built"
# F77 interface
@@ -206,7 +214,7 @@
done
clean:
- rm -f *.o lib*.a *.mod
+ rm -f *.o lib*.so *.mod
#------------------------------------------------------------------------------
# Dependencies
--- a/src/lib/Makefile
+++ b/src/lib/Makefile
@@ -66,26 +66,31 @@
SION_CXX_HDR = sion_cxx.h
endif
-USER_HDRS = sion.h sion_common.h sion_serial.h sion_const.h sion_datatypes.h sion_platform.h sion_debug.h $(SION_CXX_HDR)
-USER_LIBS = lib$(SION_LIBNAME_SER).a lib$(SION_LIBNAME_COM).a lib$(SION_LIBNAME_COM_LOCK_PTHREADS).a lib$(SION_LIBNAME_COM_LOCK_NONE).a
+ifneq ($(PTHREADSUPPORT),"no")
+LOCKLIB = $(SION_LIBNAME_COM_LOCK_PTHREADS)
+else
+LOCKLIB = $(SION_LIBNAME_COM_LOCK_NONE)
+endif
+USER_HDRS = sion.h sion_common.h sion_serial.h sion_const.h sion_datatypes.h sion_platform.h sion_debug.h $(SION_CXX_HDR)
+USER_LIBS = lib$(SION_LIBNAME_SER).so lib$(SION_LIBNAME_COM).so lib$(SION_LIBNAME_COM_LOCK_PTHREADS).so lib$(SION_LIBNAME_COM_LOCK_NONE).so
-all: lib$(SION_LIBNAME_COM).a lib$(SION_LIBNAME_SER).a lib$(SION_LIBNAME_COM_LOCK_PTHREADS).a lib$(SION_LIBNAME_COM_LOCK_NONE).a
+all: lib$(SION_LIBNAME_COM).so lib$(SION_LIBNAME_SER).so lib$(SION_LIBNAME_COM_LOCK_PTHREADS).so lib$(SION_LIBNAME_COM_LOCK_NONE).so
-lib$(SION_LIBNAME_COM).a : $(SION_COMMON_OBJS)
- $(C_AR) $(AFLAG) -rcs $@ $(SION_COMMON_OBJS)
+lib$(SION_LIBNAME_COM).so : $(SION_COMMON_OBJS) lib$(LOCKLIB).so
+ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_COM).so -shared -o $@ $(SION_COMMON_OBJS) $(SIONFWD_LIBS) -L. -l$(LOCKLIB)
@echo "*** $@ built"
-lib$(SION_LIBNAME_COM_LOCK_PTHREADS).a : $(SION_COMMON_LOCK_PTHREADS_OBJS)
- $(C_AR) $(AFLAG) -rcs $@ $(SION_COMMON_LOCK_PTHREADS_OBJS)
+lib$(SION_LIBNAME_COM_LOCK_PTHREADS).so : $(SION_COMMON_LOCK_PTHREADS_OBJS)
+ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_COM_LOCK_PTHREADS).so -shared -o $@ $(SION_COMMON_LOCK_PTHREADS_OBJS)
@echo "*** $@ built"
-lib$(SION_LIBNAME_COM_LOCK_NONE).a : $(SION_COMMON_LOCK_NONE_OBJS)
- $(C_AR) $(AFLAG) -rcs $@ $(SION_COMMON_LOCK_NONE_OBJS)
+lib$(SION_LIBNAME_COM_LOCK_NONE).so : $(SION_COMMON_LOCK_NONE_OBJS)
+ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_COM_LOCK_NONE).so -shared -o $@ $(SION_COMMON_LOCK_NONE_OBJS)
@echo "*** $@ built"
-lib$(SION_LIBNAME_SER).a : $(SION_SER_OBJS)
- $(C_AR) $(AFLAG) -rcs $@ $(SION_SER_OBJS)
+lib$(SION_LIBNAME_SER).so : $(SION_SER_OBJS) lib$(SION_LIBNAME_COM).so
+ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_SER).so -shared -o $@ $(SION_SER_OBJS) -L. -l$(SION_LIBNAME_COM)
@echo "*** $@ built"
sion_lock_pthreads.o: sion_lock.c
@@ -178,7 +183,7 @@
done
clean:
- rm -f *.o lib*.a
+ rm -f *.o lib*.so
#------------------------------------------------------------------------------
# Dependencies
--- a/src/parlib/Makefile
+++ b/src/parlib/Makefile
@@ -29,7 +29,7 @@
.SUFFIXES: .cpp .c .f
USER_HDRS = sion_datatypes_mpi.h sion_mpi.h sion_ompi.h sion_omp.h sion_generic.h
-USER_LIBS = lib$(SION_LIBNAME_GEN).a
+USER_LIBS = lib$(SION_LIBNAME_GEN).so
SION_OBJS_GEN = sion_generic.o \
sion_generic_internal.o \
@@ -46,7 +46,7 @@
sion_omp_cb_gen.o \
sion_omp_internal_gen.o
USER_HDRS += sion_omp.h
- USER_LIBS += lib$(SION_LIBNAME_OMP).a
+ USER_LIBS += lib$(SION_LIBNAME_OMP).so
endif
ifeq ($(MPIENABLE),1)
@@ -58,7 +58,7 @@
sion_mpi_util.o \
sion_mpi_file_check.o
USER_HDRS += sion_datatypes_mpi.h sion_mpi.h
- USER_LIBS += lib$(SION_LIBNAME_MPI).a
+ USER_LIBS += lib$(SION_LIBNAME_MPI).so
endif
ifeq ($(HYBENABLE),1)
SION_OBJS_HYB = sion_ompi_gen.o \
@@ -67,16 +67,18 @@
sion_ompi_util.o \
sion_ompi_internal_gen.o
USER_HDRS += sion_datatypes_mpi.h sion_ompi.h
- USER_LIBS += lib$(SION_LIBNAME_OMPI).a
+ USER_LIBS += lib$(SION_LIBNAME_OMPI).so
endif
ifeq ($(HYBENABLE),1)
LOCKCC =$(HYBCC)
LOCKCFLAGS=$(CHYBFLAGS)
+ LOCKLINK=$(HYBFLAG)
else
ifeq ($(OMPENABLE),1)
LOCKCC =$(OMPCC)
LOCKCFLAGS=$(COMPFLAGS)
+ LOCKLINK=$(OMPFLAG)
else
LOCKCC =$(CC)
LOCKCFLAGS=$(CFLAGS)
@@ -87,20 +89,23 @@
all: $(USER_LIBS)
-lib$(SION_LIBNAME_GEN).a : $(SION_OBJS_GEN) $(SION_OBJS_INTERNAL)
- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_GEN) $(SION_OBJS_INTERNAL)
+../lib/lib$(SION_LIBNAME_COM).so :
+ make -C ../lib lib$(SION_LIBNAME_COM).so
+
+lib$(SION_LIBNAME_GEN).so : $(SION_OBJS_GEN) $(SION_OBJS_INTERNAL) ../lib/lib$(SION_LIBNAME_COM).so
+ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_GEN).so -shared -o $@ $(SION_OBJS_GEN) $(SION_OBJS_INTERNAL) $(LOCKLINK) -L../lib -l$(SION_LIBNAME_COM)
@echo "*** $@ built"
-lib$(SION_LIBNAME_OMP).a : $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL)
- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL)
+lib$(SION_LIBNAME_OMP).so : $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL) ../lib/lib$(SION_LIBNAME_COM).so lib$(SION_LIBNAME_GEN).so
+ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_OMP).so -shared -o $@ $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL) $(LOCKLINK) -L../lib -l$(SION_LIBNAME_COM) -L. -l$(SION_LIBNAME_GEN) $(OMPFLAG)
@echo "*** $@ built"
-lib$(SION_LIBNAME_MPI).a : $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL)
- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL)
+lib$(SION_LIBNAME_MPI).so : $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL) ../lib/lib$(SION_LIBNAME_COM).so lib$(SION_LIBNAME_GEN).so
+ $(MPICC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_MPI).so -shared -o $@ $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL) $(LOCKLINK) -L../lib -l$(SION_LIBNAME_COM) -L. -l$(SION_LIBNAME_GEN)
@echo "*** $@ built"
-lib$(SION_LIBNAME_OMPI).a : $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL)
- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL)
+lib$(SION_LIBNAME_OMPI).so : $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL) ../lib/lib$(SION_LIBNAME_COM).so lib$(SION_LIBNAME_GEN).so
+ $(HYBCC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_OMPI).so -shared -o $@ $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL) $(LOCKLINK) -L../lib -l$(SION_LIBNAME_COM) -L. -l$(SION_LIBNAME_GEN) $(HYBFLAG)
@echo "*** $@ built"
sion_generic.o : sion_generic.c
@@ -224,7 +229,7 @@
done
clean:
- rm -f *.o lib*.a opari*
+ rm -f *.o lib*.so opari*
#------------------------------------------------------------------------------
# Dependencies
--- a/src/parutils/Makefile
+++ b/src/parutils/Makefile
@@ -30,12 +30,18 @@
COMPFLAGS = $(OMPMFLAG) $(OMPFLAG)
CHYBFLAGS = $(HYBMFLAG) $(HYBFLAG)
-CMPILDFLAGS = $(LDFLAGS) -L../parlib -l$(SION_LIBNAME_MPI) -L../lib -l$(SION_LIBNAME_GEN) -L../lib -l$(SION_LIBNAME_COM) -l$(SION_LIBNAME_COM_LOCK_PTHREADS) $(HINTSLIB) $(CACHELIB) $(CUDA_LIBRARY_PATHS) $(CUDA_LIBRARIES) $(SIONFWD_LIBS) $(IMELIB_LIBPATH) $(IMELIB_LIB)
+ifneq ($(PTHREADSUPPORT),"no")
+LOCKLIB = $(SION_LIBNAME_COM_LOCK_PTHREADS)
+else
+LOCKLIB = $(SION_LIBNAME_COM_LOCK_NONE)
+endif
+
+CMPILDFLAGS = $(LDFLAGS) -L../lib -l$(LOCKLIB) -L../lib -l$(SION_LIBNAME_COM) -L../parlib -l$(SION_LIBNAME_GEN) -L../parlib -l$(SION_LIBNAME_MPI) $(HINTSLIB) $(CACHELIB) $(CUDA_LIBRARY_PATHS) $(CUDA_LIBRARIES) $(SIONFWD_LIBS) $(IMELIB_LIBPATH) $(IMELIB_LIB)
-COMPLDFLAGS = $(LDFLAGS) -L../parlib -l$(SION_LIBNAME_OMP) -L../lib -l$(SION_LIBNAME_COM) -l$(SION_LIBNAME_COM_LOCK_PTHREADS) $(HINTSLIB) $(CACHELIB) $(OMPFLAG) $(CUDA_LIBRARY_PATHS) $(CUDA_LIBRARIES) $(SIONFWD_LIBS) $(IMELIB_LIBPATH) $(IMELIB_LIB)
-CHYBLDFLAGS = $(LDFLAGS) -L../parlib -l$(SION_LIBNAME_OMPI) -L../lib -l$(SION_LIBNAME_GEN) -L../lib -l$(SION_LIBNAME_COM) -l$(SION_LIBNAME_COM_LOCK_PTHREADS) $(HINTSLIB) $(CACHELIB) $(OMPFLAG) $(CUDA_LIBRARY_PATHS) $(CUDA_LIBRARIES) $(SIONFWD_LIBS) $(IMELIB_LIBPATH) $(IMELIB_LIB)
+COMPLDFLAGS = $(LDFLAGS) -L../lib -l$(LOCKLIB) -L../lib -l$(SION_LIBNAME_COM) -L../parlib -l$(SION_LIBNAME_OMP) $(HINTSLIB) $(CACHELIB) $(OMPFLAG) $(CUDA_LIBRARY_PATHS) $(CUDA_LIBRARIES) $(SIONFWD_LIBS) $(IMELIB_LIBPATH) $(IMELIB_LIB)
+CHYBLDFLAGS = $(LDFLAGS) -L../lib -l$(LOCKLIB) -L../lib -l$(SION_LIBNAME_COM) -L../parlib -l$(SION_LIBNAME_GEN) -L../parlib -l$(SION_LIBNAME_OMPI) $(HINTSLIB) $(CACHELIB) $(OMPFLAG) $(CUDA_LIBRARY_PATHS) $(CUDA_LIBRARIES) $(SIONFWD_LIBS) $(IMELIB_LIBPATH) $(IMELIB_LIB)
-FMPILDFLAGS = $(LDFLAGS) -L../parlib -l$(SION_LIBNAME_MPI) -L../lib -l$(SION_LIBNAME_GEN) -L../lib -l$(SION_LIBNAME_SER) -l$(SION_LIBNAME_COM) -l$(SION_LIBNAME_COM_LOCK_PTHREADS) $(HINTSLIB) $(CACHELIB) $(CUDA_LIBRARY_PATHS) $(CUDA_LIBRARIES) $(SIONFWD_LIBS) $(IMELIB_LIBPATH) $(IMELIB_LIB)
+FMPILDFLAGS = $(LDFLAGS) -L../lib -l$(LOCKLIB) -L../lib -l$(SION_LIBNAME_COM) -L../lib -l$(SION_LIBNAME_SER) -L../parlib -l$(SION_LIBNAME_GEN) -L../parlib -l$(SION_LIBNAME_MPI) $(HINTSLIB) $(CACHELIB) $(CUDA_LIBRARY_PATHS) $(CUDA_LIBRARIES) $(SIONFWD_LIBS) $(IMELIB_LIBPATH) $(IMELIB_LIB)
FOMPLDFLAGS = $(COMPLDFLAGS) $(OMPFLAG)
FHYBLDFLAGS = $(COMPILDFLAGS) $(OMPFLAG)
@@ -55,6 +61,13 @@
ifeq ($(FORTRANENABLE),1)
ifeq ($(MPIENABLE),1)
USER_UTILS += fpartest
+ F77_MPI_LIBS = -L../parlib -l$(SION_LIBNAME_MPI)
+ endif
+ ifeq ($(OMPENABLE),1)
+ F77_SER_LIBS = $(OMPFLAG) -L../parlib -l$(SION_LIBNAME_OMP)
+ endif
+ ifeq ($(HYBENABLE),1)
+ F77_MPI_LIBS = $(HYBFLAG) -L../parlib -l$(SION_LIBNAME_OMPI)
endif
endif
@@ -75,10 +88,10 @@
all: $(USER_UTILS)
-partest: $(PARTEST_OBJS) ../parlib/lib$(SION_LIBNAME_MPI).a ../parlib/lib$(SION_LIBNAME_GEN).a ../lib/lib$(SION_LIBNAME_SER).a
+partest: $(PARTEST_OBJS) ../parlib/lib$(SION_LIBNAME_MPI).so ../parlib/lib$(SION_LIBNAME_GEN).so ../lib/lib$(SION_LIBNAME_SER).so
$(MPICC) -o $@ $(PARTEST_OBJS) -L../lib -l$(SION_LIBNAME_SER) $(CMPILDFLAGS) $(MPILIB)
-ompi_partest: $(PARTEST_OMPI_OBJS) ../parlib/lib$(SION_LIBNAME_OMPI).a ../parlib/lib$(SION_LIBNAME_OMP).a ../lib/lib$(SION_LIBNAME_SER).a
+ompi_partest: $(PARTEST_OMPI_OBJS) ../parlib/lib$(SION_LIBNAME_OMPI).so ../parlib/lib$(SION_LIBNAME_OMP).so ../lib/lib$(SION_LIBNAME_SER).so
$(HYBCC) -o $@ $(PARTEST_OMPI_OBJS) $(CHYBLDFLAGS) -L../parlib -l$(SION_LIBNAME_OMP) -L../lib -l$(SION_LIBNAME_SER) $(MPILIB)
ompi_partest.o : ompi_partest.c
@@ -114,8 +127,8 @@
fpartest.o : fpartest.F90
$(MPIF90) $(FFLAGS) -c fpartest.F90
-fpartest: fpartest.o ../parlib/lib$(SION_LIBNAME_MPI).a ../parlib/lib$(SION_LIBNAME_GEN).a ../lib/lib$(SION_LIBNAME_SER).a ../fortraninterface/lib$(SION_LIBNAME_F77_MPI).a ../fortraninterface/lib$(SION_LIBNAME_F77_SER).a
- $(MPIF90) -o $@ fpartest.o -L../fortraninterface -l$(SION_LIBNAME_F77_MPI) -l$(SION_LIBNAME_F77_SER) $(FMPILDFLAGS) $(MPILIB)
+fpartest: fpartest.o ../parlib/lib$(SION_LIBNAME_MPI).so ../parlib/lib$(SION_LIBNAME_GEN).so ../lib/lib$(SION_LIBNAME_SER).so ../fortraninterface/lib$(SION_LIBNAME_F77_MPI).so ../fortraninterface/lib$(SION_LIBNAME_F77_SER).so
+ $(MPIF90) -o $@ fpartest.o -L../fortraninterface -l$(SION_LIBNAME_F77_MPI) -l$(SION_LIBNAME_F77_SER) $(FMPILDFLAGS) $(MPILIB) $(F77_MPI_LIBS) $(F77_SER_LIBS)
install: all
@@ -161,7 +174,7 @@
@rm -f header.tmp
clean:
- rm -f *.o lib*.a $(USER_UTILS)
+ rm -f *.o lib*.so $(USER_UTILS)
#------------------------------------------------------------------------------
# Dependencies
--- a/src/utils/Makefile
+++ b/src/utils/Makefile
@@ -45,32 +45,32 @@
siondump.o : siondump.c
$(CC) $(CFLAGS) -c siondump.c
-siondefrag.o : siondefrag.c ../lib/lib$(SION_LIBNAME_SER).a
+siondefrag.o : siondefrag.c ../lib/lib$(SION_LIBNAME_SER).so
$(CC) $(CFLAGS) -c siondefrag.c
-sionsplit.o : sionsplit.c ../lib/lib$(SION_LIBNAME_SER).a
+sionsplit.o : sionsplit.c ../lib/lib$(SION_LIBNAME_SER).so
$(CC) $(CFLAGS) -c sionsplit.c
-sioncat.o : sioncat.c ../lib/lib$(SION_LIBNAME_SER).a
+sioncat.o : sioncat.c ../lib/lib$(SION_LIBNAME_SER).so
$(CC) $(CFLAGS) -c sioncat.c
-sionversion.o : sionversion.c ../lib/lib$(SION_LIBNAME_SER).a
+sionversion.o : sionversion.c ../lib/lib$(SION_LIBNAME_SER).so
$(CC) $(CFLAGS) -c sionversion.c
-siondump: siondump.o ../lib/lib$(SION_LIBNAME_SER).a ../lib/lib$(SION_LIBNAME_COM).a ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).a
+siondump: siondump.o ../lib/lib$(SION_LIBNAME_SER).so ../lib/lib$(SION_LIBNAME_COM).so ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).so
$(CC) -o $@ siondump.o $(LDFLAGS)
cp siondump $(TOPDIR)/..
-siondefrag: siondefrag.o ../lib/lib$(SION_LIBNAME_SER).a ../lib/lib$(SION_LIBNAME_COM).a ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).a
+siondefrag: siondefrag.o ../lib/lib$(SION_LIBNAME_SER).so ../lib/lib$(SION_LIBNAME_COM).so ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).so
$(CC) -o $@ siondefrag.o $(LDFLAGS)
-sionsplit: sionsplit.o ../lib/lib$(SION_LIBNAME_SER).a ../lib/lib$(SION_LIBNAME_COM).a ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).a
+sionsplit: sionsplit.o ../lib/lib$(SION_LIBNAME_SER).so ../lib/lib$(SION_LIBNAME_COM).so ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).so
$(CC) -o $@ sionsplit.o $(LDFLAGS)
-sioncat: sioncat.o ../lib/lib$(SION_LIBNAME_SER).a ../lib/lib$(SION_LIBNAME_COM).a ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).a
+sioncat: sioncat.o ../lib/lib$(SION_LIBNAME_SER).so ../lib/lib$(SION_LIBNAME_COM).so ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).so
$(CC) -o $@ sioncat.o $(LDFLAGS)
-sionversion: sionversion.o ../lib/lib$(SION_LIBNAME_SER).a ../lib/lib$(SION_LIBNAME_COM).a ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).a
+sionversion: sionversion.o ../lib/lib$(SION_LIBNAME_SER).so ../lib/lib$(SION_LIBNAME_COM).so ../lib/lib$(SION_LIBNAME_COM_LOCK_NONE).so
$(CC) -o $@ sionversion.o $(LDFLAGS)
@@ -136,7 +136,7 @@
@rm -f header.tmp
clean:
- rm -f *.o lib*.a $(USER_UTILS)
+ rm -f *.o lib*.so $(USER_UTILS)
#------------------------------------------------------------------------------
# Dependencies