diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..0ae20951aefe1be6ed3cf213a922f0db4ac076ee --- /dev/null +++ b/Makefile @@ -0,0 +1,34 @@ +CC=gcc +CXX=g++ +MPICC=mpicc + +INCLUDE_DIR=./include +SRC_DIR=./src +OBJ_DIR=./obj +TEST_DIR=./test +OUT_DIR=./out + +PLUGIN_NAME=mpicoll_check +PLUGIN_FLAGS=-I`$(CC) -print-file-name=plugin`/include -I./$() -g -Wall -fno-rtti -shared -fPIC +PLUGIN_OBJ=$(OBJ_DIR)/$(PLUGIN_NAME).so + +FLAGS=-Wall -Wextra -fplugin=./$(PLUGIN_OBJ) + +all: + mkdir -p $(OBJ_DIR) + $(PLUGIN_OBJ) + +$(PLUGIN_OBJ): $(SRC_DIR)/plugin.cpp + $(CXX) -I`$(CC) -print-file-name=plugin`/include -g -Wall -fno-rtti -shared -fPIC -o $@ $< + +test: $(PLUGIN_OBJ) $(patsubst $(TEST_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(wildcard $(TEST_DIR)/*.cpp)) + +$(OBJ_DIR)/%.o: $(TEST_DIR)/%.cpp + $(MPICC) -c $< $(FLAGS) + +$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp + $(CXX) -c $< $(PLUGIN_FLAGS) + +clean: + rm -rf $(OBJ_DIR) + rm -rf $(OUT_DIR) \ No newline at end of file