mirror of
https://github.com/TREX-CoE/Sherman-Morrison.git
synced 2024-11-04 05:03:59 +01:00
inital commit of Makefile.verificarlo
This commit is contained in:
parent
3a99393e8f
commit
7c312e8871
104
Makefile.verificarlo
Normal file
104
Makefile.verificarlo
Normal file
@ -0,0 +1,104 @@
|
||||
## Compilers
|
||||
#ARCH = -xCORE-AVX2
|
||||
H5CXX = h5c++
|
||||
#CXX = icpc
|
||||
#FC = ifort
|
||||
|
||||
#CXX = ~/intel/compilers_and_libraries_2020.3.275/linux/bin/icpx
|
||||
#FC = ~/intel/compilers_and_libraries_2020.3.275/linux/bin/intel64/ifort
|
||||
|
||||
H5FLAGS = "-I/usr/include/hdf5/serial -L/usr/lib/x86_64-linux-gnu/hdf5/serial /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_hl_cpp.a /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_cpp.a /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_hl.a /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.a -lpthread -lsz -lz -ldl -lm -Wl,-rpath -Wl,/usr/lib/x86_64-linux-gnu/hdf5/serial"
|
||||
CXX = verificarlo-c++
|
||||
FC = verificarlo-f
|
||||
|
||||
|
||||
|
||||
## Compiler flags
|
||||
#H5CXXFLAGS = -O0 -g
|
||||
CXXFLAGS = -O0 -g $(H5FLAGS)
|
||||
FFLAGS = -O0 -g $(H5FLAGS)
|
||||
|
||||
INCLUDE = -I $(INC_DIR)/
|
||||
DEPS_CXX = $(OBJ_DIR)/SM_MaponiA3.o $(OBJ_DIR)/SM_Standard.o
|
||||
DEPS_F = $(DEPS_CXX) $(OBJ_DIR)/SM_MaponiA3_mod.o $(OBJ_DIR)/Helpers_mod.o
|
||||
FLIBS = -lstdc++
|
||||
|
||||
SRC_DIR := src
|
||||
TST_DIR := tests
|
||||
INC_DIR := include
|
||||
OBJ_DIR := build
|
||||
BIN_DIR := bin
|
||||
|
||||
EXEC := $(BIN_DIR)/cMaponiA3_test_3x3_3 \
|
||||
$(BIN_DIR)/test_internal_h5 \
|
||||
$(BIN_DIR)/fMaponiA3_test_3x3_3 \
|
||||
$(BIN_DIR)/fMaponiA3_test_4x4_2 \
|
||||
$(BIN_DIR)/QMCChem_dataset_test
|
||||
|
||||
#$(BIN_DIR)/test_external_h5 \
|
||||
|
||||
## Build tagets
|
||||
.PHONY: all clean distclean
|
||||
|
||||
all: $(EXEC)
|
||||
|
||||
clean:
|
||||
@rm -vrf $(OBJ_DIR)
|
||||
|
||||
distclean: clean
|
||||
@rm -vrf $(BIN_DIR) \
|
||||
Slater* Updates.dat
|
||||
|
||||
|
||||
#### COMPILING
|
||||
$(BIN_DIR) $(OBJ_DIR):
|
||||
mkdir -p $@
|
||||
|
||||
### IMPLICIT BUILD RULES
|
||||
## C++ objects
|
||||
$(OBJ_DIR)/%.o: $(TST_DIR)/%.cpp $(INC_DIR)/* | $(OBJ_DIR)
|
||||
$(CXX) $(CXXFLAGS) $(ARCH) $(INCLUDE) -c -o $@ $<
|
||||
|
||||
## HDF5/C++ objects
|
||||
$(OBJ_DIR)/%_h5.o: $(TST_DIR)/%_h5.cpp $(INC_DIR)/* | $(OBJ_DIR)
|
||||
$(H5CXX) $(H5CXXFLAGS) $(INCLUDE) -c -o $@ $<
|
||||
|
||||
## Fortran modules
|
||||
$(OBJ_DIR)/%_mod.o: $(SRC_DIR)/%_mod.f90 | $(OBJ_DIR)
|
||||
$(FC) $(FFLAGS) $(ARCH) -module $(OBJ_DIR)/ -c -o $@ $<
|
||||
|
||||
## Fortran objects
|
||||
$(OBJ_DIR)/%.o: $(TST_DIR)/%.f90 | $(OBJ_DIR)
|
||||
$(FC) $(FFLAGS) $(ARCH) -I $(OBJ_DIR)/ -c -o $@ $<
|
||||
|
||||
### EXPLICIT BUILD RULES
|
||||
## special compiler flag -fPIC otherwise h5c++ builds fail
|
||||
$(OBJ_DIR)/SM_MaponiA3.o: $(SRC_DIR)/SM_MaponiA3.cpp $(INC_DIR)/* | $(OBJ_DIR)
|
||||
$(CXX) $(CXXFLAGS) -fPIC $(ARCH) $(INCLUDE) -c -o $@ $<
|
||||
|
||||
$(OBJ_DIR)/SM_Standard.o: $(SRC_DIR)/SM_Standard.cpp $(INC_DIR)/* | $(OBJ_DIR)
|
||||
$(CXX) $(CXXFLAGS) -fPIC $(ARCH) $(INCLUDE) -c -o $@ $<
|
||||
|
||||
|
||||
#### LINKING
|
||||
$(BIN_DIR)/cMaponiA3_test_3x3_3: $(OBJ_DIR)/cMaponiA3_test_3x3_3.o $(DEPS_CXX) | $(BIN_DIR)
|
||||
$(CXX) -o $@ $^
|
||||
|
||||
#begin H5
|
||||
$(BIN_DIR)/test_internal_h5: $(OBJ_DIR)/test_internal_h5.o $(DEPS_CXX) | $(BIN_DIR)
|
||||
$(CXX) -o $@ $^ $(H5FLAGS)
|
||||
#$(BIN_DIR)/test_external_h5: $(OBJ_DIR)/test_external_h5.o $(DEPS_CXX) | $(BIN_DIR)
|
||||
# $(CXX) -o $@ $^ $(H5FLAGS)
|
||||
#end H5
|
||||
|
||||
|
||||
$(BIN_DIR)/fMaponiA3_test_3x3_3: $(DEPS_F) $(OBJ_DIR)/fMaponiA3_test_3x3_3.o | $(BIN_DIR)
|
||||
$(FC) $(FLIBS) -o $@ $^
|
||||
|
||||
$(BIN_DIR)/fMaponiA3_test_4x4_2: $(DEPS_F) $(OBJ_DIR)/fMaponiA3_test_4x4_2.o | $(BIN_DIR)
|
||||
$(FC) $(FLIBS) -o $@ $^
|
||||
|
||||
$(BIN_DIR)/QMCChem_dataset_test: $(DEPS_F) $(OBJ_DIR)/QMCChem_dataset_test.o | $(BIN_DIR)
|
||||
$(FC) $(FLIBS) -o $@ $^
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user