diff --git a/parallel-netcdf/macros.make.in b/parallel-netcdf/macros.make.in index dbbf188..658ea3d 100644 --- a/parallel-netcdf/macros.make.in +++ b/parallel-netcdf/macros.make.in @@ -25,12 +25,12 @@ LIBRARY = @BUILDDIR@/src/lib/libpnetcdf.a ifdef DESTDIR INCDIR = $(DESTDIR)/$(prefix)/include -LIBDIR = $(DESTDIR)/$(prefix)/lib +LIBDIR = $(DESTDIR)/$(prefix)/lib${LIB_SUFFIX} BINDIR = $(DESTDIR)/$(prefix)/bin MANDIR = $(DESTDIR)/$(prefix)/share/man else INCDIR = $(prefix)/include -LIBDIR = $(prefix)/lib +LIBDIR = $(prefix)/lib${LIB_SUFFIX} BINDIR = $(prefix)/bin MANDIR = $(prefix)/share/man endif diff --git a/parallel-netcdf/pnetcdf_pc.in b/parallel-netcdf/pnetcdf_pc.in index 697df49..8131881 100644 --- a/parallel-netcdf/pnetcdf_pc.in +++ b/parallel-netcdf/pnetcdf_pc.in @@ -35,7 +35,7 @@ prefix=INSTALL_PREFIX # prefix can be changed by "make install prefix=/path" exec_prefix=@exec_prefix@ -libdir=${exec_prefix}/lib +libdir=${exec_prefix}/lib@LIB_SUFFIX@ includedir=${prefix}/include Name: Parallel-NetCDF diff --git a/parallel-netcdf/src/lib/Makefile.in b/parallel-netcdf/src/lib/Makefile.in index b1fb33e..2666219 100644 --- a/parallel-netcdf/src/lib/Makefile.in +++ b/parallel-netcdf/src/lib/Makefile.in @@ -21,6 +21,7 @@ include ../../macros.make INCLUDES = -I. -I$(srcdir) LIBRARY = libpnetcdf.a +SHLIB = libpnetcdf.so HEADER = pnetcdf.h ifeq (@enable_erange_fill@, yes) @@ -91,7 +92,7 @@ GARBAGE = $(LIBRARY) $(M4_SRCS:.m4=.c) ncx.h DIST_GARBAGE = ncconfig.h pnetcdf.h -all: $(LIBRARY) +all: $(LIBRARY) $(SHLIB) objs: $(LIB_OBJS) @@ -103,9 +104,10 @@ $(LIBRARY): $(LIB_OBJS) $(AR) $(ARFLAGS) $(LIBRARY) $(LIB_OBJS) $(RANLIB) $(LIBRARY) -install: $(LIBRARY) +install: $(LIBRARY) $(SHLIB) $(INSTALL) -d -m 755 $(LIBDIR) $(INSTALL_DATA) $(LIBRARY) $(LIBDIR)/$(LIBRARY) + cp -P *.so* $(LIBDIR)/ $(INSTALL) -d -m 755 $(INCDIR) $(INSTALL_DATA) $(HEADER) $(INCDIR)/$(HEADER) @@ -130,4 +132,10 @@ lint: llib-lpnetcdf.ln ncx.h: ncx_h.m4 $(M4) $(M4FLAGS) $< >$@ +$(SHLIB): $(LIBRARY) + mpic++ -shared -Wl,--whole-archive $(LIBRARY) -Wl,--no-whole-archive \ + -Wl,-soname,$(SHLIB).${SOVER} -o $(SHLIB).${SOVER} -lgfortran + rm -f $(SHLIB) + ln -s $(SHLIB).${SOVER} $(SHLIB) + include $(srcdir)/depend diff --git a/parallel-netcdf/src/utils/ncmpidiff/Makefile.in b/parallel-netcdf/src/utils/ncmpidiff/Makefile.in index 6421e85..2b1069c 100644 --- a/parallel-netcdf/src/utils/ncmpidiff/Makefile.in +++ b/parallel-netcdf/src/utils/ncmpidiff/Makefile.in @@ -17,7 +17,7 @@ include ../../../macros.make INCLUDES = -I../../lib LDFLAGS += -L../../lib -LIBS := -lpnetcdf $(LIBS) @LCOV_LIB@ +LIBS := -lpnetcdf $(LIBS) @LCOV_LIB@ -lgfortran C_SOURCES = ncmpidiff.c HEADERS = diff --git a/parallel-netcdf/src/utils/ncmpidump/Makefile.in b/parallel-netcdf/src/utils/ncmpidump/Makefile.in index e12a37d..74f3aa0 100644 --- a/parallel-netcdf/src/utils/ncmpidump/Makefile.in +++ b/parallel-netcdf/src/utils/ncmpidump/Makefile.in @@ -19,7 +19,7 @@ NCGEN = ../ncmpigen/ncmpigen INCLUDES = -I../../lib LDFLAGS += -L../../lib -LIBS := -lpnetcdf $(LIBS) @LCOV_LIB@ +LIBS := -lpnetcdf $(LIBS) @LCOV_LIB@ -lgfortran C_SOURCES = ncmpidump.c vardata.c dumplib.c HEADERS = ncmpidump.h vardata.h dumplib.h diff --git a/parallel-netcdf/src/utils/ncmpigen/Makefile.in b/parallel-netcdf/src/utils/ncmpigen/Makefile.in index fdd4e2b..fc76360 100644 --- a/parallel-netcdf/src/utils/ncmpigen/Makefile.in +++ b/parallel-netcdf/src/utils/ncmpigen/Makefile.in @@ -24,7 +24,7 @@ MANUAL = ncmpigen.1 INCLUDES = -I$(srcdir) -I../../lib LDFLAGS += -L../../lib -LIBS := -lpnetcdf $(LIBS) @LCOV_LIB@ +LIBS := -lpnetcdf $(LIBS) @LCOV_LIB@ -lgfortran C_SOURCES = main.c load.c escapes.c getfill.c init.c genlib.c ncmpigentab.c HEADERS = generic.h genlib.h ncmpigen.h ncmpigentab.h diff --git a/parallel-netcdf/src/utils/ncmpivalid/Makefile.in b/parallel-netcdf/src/utils/ncmpivalid/Makefile.in index ac62837..b91475f 100644 --- a/parallel-netcdf/src/utils/ncmpivalid/Makefile.in +++ b/parallel-netcdf/src/utils/ncmpivalid/Makefile.in @@ -19,7 +19,7 @@ include ../../../macros.make INCLUDES = -I../../lib -I$(srcdir)/../../lib LDFLAGS += -L../../lib -LIBS := -lpnetcdf $(LIBS) @LCOV_LIB@ +LIBS := -lpnetcdf $(LIBS) @LCOV_LIB@ -lgfortran C_SOURCES = ncmpivalid.c HEADERS =