diff --git a/Makefile b/Makefile index 881cbd0..0413a46 100644 --- a/Makefile +++ b/Makefile @@ -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) diff --git a/etc/config/gcc.mk b/etc/config/gcc.mk index 3939bcd..cac00cb 100644 --- a/etc/config/gcc.mk +++ b/etc/config/gcc.mk @@ -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 diff --git a/etc/make/ctf.mk b/etc/make/ctf.mk index c3cf285..fec16cc 100644 --- a/etc/make/ctf.mk +++ b/etc/make/ctf.mk @@ -1,2 +1,4 @@ include ./etc/make/ctf_vars.mk include ./etc/make/ctf_rules.mk + +EXTERNAL_DEPENDENCIES += ctf diff --git a/shell.nix b/shell.nix index 4630cd4..d2c7c13 100644 --- a/shell.nix +++ b/shell.nix @@ -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 ''; }