--- makefile.orig 2018-02-01 10:48:08 UTC +++ makefile @@ -93,15 +93,20 @@ else MPI_INTERFACE= endif +ifdef WITH_LIBXC +LIBXC=$(FREEBSD_LOCALBASE)/lib/libxc.so +endif + libmpi_f90.a: @(cd MPI_instr ; $(MAKE) \ "VPATH=$(VPATH)/MPI_instr" ) -libGridXC.a: $(MPI_INTERFACE) $(ALL_OBJS) - $(AR) $(ARFLAGS_EXTRA) cru libGridXC.a $(ALL_OBJS) +libGridXC.so: $(MPI_INTERFACE) $(ALL_OBJS) @if [ ! -z "$(MPI_INTERFACE)" ] ; then \ - $(AR) $(ARFLAGS_EXTRA) cru libGridXC.a MPI_instr/*.o ; fi - -$(RANLIB) libGridXC.a + $(CC) -shared -o libGridXC.so -Wl,-soname,libGridXC.so $(ALL_OBJS) MPI_instr/*.o $(FREEBSD_LOCALBASE)/lib/libmpich.so $(LIBXC); \ + else \ + $(CC) -shared -o libGridXC.so -Wl,-soname,libGridXC.so $(ALL_OBJS) $(LIBXC); \ + fi; MODULES_TO_INSTALL=gridxc.mod gridxc_config.mod m_atomxc.mod \ m_cellxc.mod xcmod.mod m_ldaxc.mod m_ggaxc.mod \ @@ -126,23 +131,23 @@ setup_mk_file: endif endif -module: setup_mk_file libGridXC.a +module: setup_mk_file libGridXC.so @echo "Prefix: $(PREFIX)" mkdir -p lib mkdir -p include cp -p $(MODULES_TO_INSTALL) include/ - cp -p libGridXC.a lib/ + cp -p libGridXC.so lib/ @if [ "$(PREFIX)" != "$(MAIN_OBJDIR)" ]; then \ - echo "mkdir -p $(GRIDXC_PREFIX)/lib" ; \ - mkdir -p $(GRIDXC_PREFIX)/lib ; \ - echo "mkdir -p $(GRIDXC_PREFIX)/include" ; \ - mkdir -p $(GRIDXC_PREFIX)/include ; \ - echo "cp -p $(MODULES_TO_INSTALL) $(GRIDXC_PREFIX)/include/" ; \ - cp -p $(MODULES_TO_INSTALL) $(GRIDXC_PREFIX)/include/ ; \ - echo "cp -p libGridXC.a $(GRIDXC_PREFIX)/lib" ; \ - cp -p libGridXC.a $(GRIDXC_PREFIX)/lib ; \ - echo "cp -p gridxc.mk libxc.mk $(GRIDXC_PREFIX)" ; \ - cp -p gridxc.mk libxc.mk $(GRIDXC_PREFIX) ; fi + echo "mkdir -p $(INSTALL_DIR)/lib" ; \ + mkdir -p $(INSTALL_DIR)/lib ; \ + echo "mkdir -p $(INSTALL_DIR)/include" ; \ + mkdir -p $(INSTALL_DIR)/include ; \ + echo "cp -p $(MODULES_TO_INSTALL) $(INSTALL_DIR)/include/" ; \ + cp -p $(MODULES_TO_INSTALL) $(INSTALL_DIR)/include/ ; \ + echo "cp -p libGridXC.so $(INSTALL_DIR)/lib" ; \ + cp -p libGridXC.so $(INSTALL_DIR)/lib ; \ + echo "cp -p gridxc.mk libxc.mk $(INSTALL_DIR)" ; \ + cp -p gridxc.mk libxc.mk $(INSTALL_DIR) ; fi clean: rm -f *.o *.*d *.a gridxc.mk