Do not use static libraries for scalapack and openblas

This commit is contained in:
Alejandro Gallo 2021-09-06 16:08:41 +02:00
parent a9d6fef843
commit 02b6dff70c
4 changed files with 29 additions and 6 deletions

View File

@ -13,11 +13,25 @@ DEP_FILES = $(patsubst %.o,%.d,$(OBJ_FILES))
SHARED_LIBRARY = lib/libatrip.so
STATIC_LIBRARY = lib/libatrip.a
lib: ctf
extern: $(EXTERNAL_DEPENDENCIES)
clean-extern: CLEANING=yes
clean-extern:
rm -vrf extern
#$(DEP_FILES): extern
.PHONY: extern
lib: extern
lib: $(DEP_FILES)
lib: $(SHARED_LIBRARY) $(STATIC_LIBRARY)
static: $(STATIC_LIBRARY)
shared: $(SHARED_LIBRARY)
.PHONY: lib static shared
include $(DEP_FILES)
$(SHARED_LIBRARY): $(OBJ_FILES)
mkdir -p $(@D)
$(CXX) -shared $< $(CXXFLAGS) $(LDFLAGS) -o $@
@ -38,13 +52,16 @@ $(SOURCES): $(MAIN)
tangle: $(SOURCES)
clean-emacs: CLEANING=yes
clean-emacs:
-rm -v $(SOURCES)
clean: CLEANING=yes
clean:
-rm -v $(OBJ_FILES) $(DEP_FILES)
clean-all: bench-clean clean
clean-all: CLEANING=yes
clean-all: bench-clean clean-emacs clean clean-extern
bench: $(BENCH_TARGETS)

View File

@ -16,5 +16,5 @@ LDFLAGS += -L$(SCALAPACK_PATH)/lib -lscalapack
bench: CXXFLAGS := $(filter-out -fPIC,$(CXXFLAGS))
bench: LDFLAGS += -Wl,-Bstatic
bench: LDFLAGS += -Llib/ -latrip
bench: LDFLAGS += -L$(OPENBLAS_PATH)/lib -lopenblas
bench: LDFLAGS += -Wl,-Bdynamic
bench: LDFLAGS += -L$(OPENBLAS_PATH)/lib -lopenblas

View File

@ -1,2 +1,4 @@
include ./etc/make/ctf_vars.mk
include ./etc/make/ctf_rules.mk
EXTERNAL_DEPENDENCIES += ctf

View File

@ -15,10 +15,13 @@ pkgs.mkShell rec {
emacs
];
/*
openblas = pkgs.openblas.override {
enableStatic = true;
};
*/
/*
scalapack = import ./etc/nix/scalapack.nix {
lib = pkgs.lib;
stdenv = pkgs.stdenv;
@ -30,13 +33,14 @@ pkgs.mkShell rec {
blas = pkgs.blas;
lapack = pkgs.lapack;
};
*/
shellHook = ''
export LAPACK_PATH=${pkgs.lapack}
export BLAS_PATH=${pkgs.blas}
export OPENBLAS_PATH=${openblas}
export SCALAPACK_PATH=${scalapack}
export LD_LIBRARY_PATH=${scalapack}/lib:$LD_LIBRARY_PATH
export OPENBLAS_PATH=${pkgs.openblas}
export SCALAPACK_PATH=${pkgs.scalapack}
export LD_LIBRARY_PATH=${pkgs.scalapack}/lib:$LD_LIBRARY_PATH
'';
}