aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorMITSUNARI Shigeo <herumi@nifty.com>2016-08-10 08:33:54 +0800
committerMITSUNARI Shigeo <herumi@nifty.com>2016-08-10 08:33:54 +0800
commitdf0418098fd5a9f34148e1cb353e1b6e42db9708 (patch)
treeabf02ed9f66b4a6fededb100b5bbf8ed85f59fad /Makefile
downloaddexon-bls-df0418098fd5a9f34148e1cb353e1b6e42db9708.tar
dexon-bls-df0418098fd5a9f34148e1cb353e1b6e42db9708.tar.gz
dexon-bls-df0418098fd5a9f34148e1cb353e1b6e42db9708.tar.bz2
dexon-bls-df0418098fd5a9f34148e1cb353e1b6e42db9708.tar.lz
dexon-bls-df0418098fd5a9f34148e1cb353e1b6e42db9708.tar.xz
dexon-bls-df0418098fd5a9f34148e1cb353e1b6e42db9708.tar.zst
dexon-bls-df0418098fd5a9f34148e1cb353e1b6e42db9708.zip
first commit
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile58
1 files changed, 58 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..3e023e0
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,58 @@
+include ../mcl/common.mk
+LIB_DIR=lib
+OBJ_DIR=obj
+EXE_DIR=bin
+
+SRC_SRC=bls.cpp
+TEST_SRC=bls_test.cpp
+#SAMPLE_SRC=
+
+CFLAGS+=-I../mcl/include
+##################################################################
+BLS_LIB=$(LIB_DIR)/libbls.a
+all: $(BLS_LIB)
+
+LIB_OBJ=$(OBJ_DIR)/bls.o
+
+$(BLS_LIB): $(LIB_OBJ)
+ -$(MKDIR) $(@D)
+ $(AR) $@ $(LIB_OBJ)
+
+MCL_LIB=../mcl/lib/libmcl.a
+
+$(MCL_LIB):
+ $(MAKE) -C ../mcl
+
+##################################################################
+
+VPATH=test sample src
+
+.SUFFIXES: .cpp .d .exe
+
+$(OBJ_DIR)/%.o: %.cpp
+ -$(MKDIR) $(@D)
+ $(PRE)$(CXX) $(CFLAGS) -c $< -o $@ -MMD -MP -MF $(@:.o=.d)
+
+$(EXE_DIR)/%.exe: $(OBJ_DIR)/%.o $(BLS_LIB) $(MCL_LIB)
+ -$(MKDIR) $(@D)
+ $(PRE)$(CXX) $< -o $@ $(BLS_LIB) $(LDFLAGS) -lmcl -L../mcl/lib
+
+SAMPLE_EXE=$(addprefix $(EXE_DIR)/,$(SAMPLE_SRC:.cpp=.exe))
+sample: $(SAMPLE_EXE) $(BLS_LIB)
+
+TEST_EXE=$(addprefix $(EXE_DIR)/,$(TEST_SRC:.cpp=.exe))
+test: $(TEST_EXE)
+ @echo test $(TEST_EXE)
+ @sh -ec 'for i in $(TEST_EXE); do $$i|grep "ctest:name"; done' > result.txt
+ @grep -v "ng=0, exception=0" result.txt || echo "all unit tests are ok"
+
+clean:
+ $(RM) $(BLS_LIB) $(OBJ_DIR)/* $(EXE_DIR)/*.exe $(GEN_EXE) $(ASM_SRC) $(ASM_OBJ) $(LIB_OBJ) $(LLVM_SRC)
+
+ALL_SRC=$(SRC_SRC) $(TEST_SRC) $(SAMPLE_SRC)
+DEPEND_FILE=$(addprefix $(OBJ_DIR)/, $(ALL_SRC:.cpp=.d))
+-include $(DEPEND_FILE)
+
+# don't remove these files automatically
+.SECONDARY: $(addprefix $(OBJ_DIR)/, $(ALL_SRC:.cpp=.o))
+