Files
lammps/lib/pace/Makefile

54 lines
1.1 KiB
Makefile

SHELL = /bin/sh
# ------ FILES ------
YAML_CPP_PATH = src/yaml-cpp
YAML_CPP_INC = $(YAML_CPP_PATH)/include
WIGNER_CPP_INC = src/wigner-cpp/include
CNPY_CPP_PATH = src/cnpy
CNPY_CPP_INC = src
CNPY_SRC_FILES = $(CNPY_CPP_PATH)/cnpy.cpp
SRC_FILES = $(wildcard src/ML-PACE/ace/*.cpp) $(wildcard src/ML-PACE/ace-evaluator/*.cpp)
SRC = $(filter-out src/ML-PACE/pair_pace.cpp, $(SRC_FILES)) $(CNPY_SRC_FILES)
# ------ DEFINITIONS ------
LIB = libpace.a
OBJ = $(SRC:.cpp=.o)
# ------ SETTINGS ------
CXXFLAGS = -O3 -fPIC -Isrc/ML-PACE -I$(YAML_CPP_INC) -I$(WIGNER_CPP_INC) -I$(CNPY_CPP_INC) -DEXTRA_C_PROJECTIONS -DCOMPUTE_B_GRAD
ARCHIVE = ar
ARCHFLAG = -rc
USRLIB =
SYSLIB =
# ------ MAKE PROCEDURE ------
lib: $(OBJ) lib-yaml-cpp
$(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ)
lib-yaml-cpp:
cd $(YAML_CPP_PATH) && $(MAKE) lib
# ------ COMPILE RULES ------
%.o: %.cpp
$(CXX) $(CXXFLAGS) -c $< -o $@
# ------ CLEAN ------
clean-all:
-rm -f *~ $(OBJ) $(LIB)
cd $(YAML_CPP_PATH) && $(MAKE) clean-all
clean-build:
-rm -f *~ $(OBJ)
cd $(YAML_CPP_PATH) && $(MAKE) clean-build