github.com/jiajun1992/watercarver@v0.0.0-20191031150618-dfc2b17c0c4a/StadiumForWaterCarver/Makefile (about) 1 ## 2 ## HSM lib test Makefile 3 ## ------------------------------------------------------- 4 # $Id: Makefile 187 2012-01-27 15:57:50Z mlange $ 5 # ------------------------------------------------------- 6 export LD_LIBRARY_PATH=/usr/local/lib/ 7 APP=shuffle 8 ORIGINALAPP=test 9 LIBAPP=libshuffle.so 10 VUVUZELA_APP=vuvuzela_shuffle 11 VUVUZELA_SERVER_APP=shuffle_server 12 VUVUZELA_CLIENT_APP=shuffle_client 13 14 # options 15 DATE = $(shell /bin/date +%d.%m.%y) 16 _DATE = $(shell /bin/date +%d_%m_%y) 17 18 RD = "\033[0;31m" 19 NC = "\033[0m" 20 21 22 #directories 23 PRJDIR = $(shell pwd) 24 OBJDIR = obj 25 LCOVDIR = lcov 26 27 28 INC_DIR = src 29 SRC_DIR = src 30 31 32 VPATH = $(SRC_DIR) 33 34 OPTIMIZE_FLAGS=-O2 -flto 35 # OPTIMIZE_FLAGS=-O0 36 37 # tools 38 CC = gcc -std=c++0x -fPIC 39 CXX = g++ -std=c++0x -fPIC 40 41 # compiler / linker flags 42 CFLAGS= \ 43 $(OPTIMIZE_FLAGS) \ 44 -I $(INC_DIR)\ 45 -Wall -g\ 46 -fopenmp 47 CXXFLAGS=\ 48 $(OPTIMIZE_FLAGS) \ 49 -I $(INC_DIR)\ 50 -Wall -g\ 51 -fopenmp 52 53 LDFLAGS= $(OPTIMIZE_FLAGS) 54 55 # libraries to link against 56 LIBS += -L/usr/local/lib/ -lntl -lgmp -lboost_system -lboost_filesystem -lpthread -lboost_regex -lboost_thread -lboost_context -lgomp 57 58 # source and header files 59 ORIGINAL = \ 60 test\ 61 GoApis\ 62 WaterCarver\ 63 Cipher_elg\ 64 CurvePoint\ 65 ElGammal\ 66 FakeZZ\ 67 func_pro\ 68 func_ver\ 69 Functions\ 70 G_q\ 71 Mod_p\ 72 multi_expo\ 73 Pedersen\ 74 Permutation\ 75 Prover_toom\ 76 SchnorrProof\ 77 Verifier_toom\ 78 CipherTable \ 79 Utils \ 80 sha256\ 81 NIZKProof\ 82 RemoteShuffler\ 83 VerifierClient 84 85 TESTFILES = \ 86 GoApis\ 87 WaterCarver\ 88 Cipher_elg\ 89 CurvePoint\ 90 ElGammal\ 91 FakeZZ\ 92 func_pro\ 93 func_ver\ 94 Functions\ 95 G_q\ 96 Mod_p\ 97 multi_expo\ 98 Pedersen\ 99 Permutation\ 100 Prover_toom\ 101 SchnorrProof\ 102 Verifier_toom\ 103 CipherTable \ 104 Utils \ 105 sha256\ 106 NIZKProof\ 107 RemoteShuffler\ 108 VerifierClient 109 110 TESTOBJECTS = $(addprefix $(OBJDIR)/, $(addsuffix .o, $(TESTFILES))) 111 ORIGINALOBJECTS = $(addprefix $(OBJDIR)/, $(addsuffix .o, $(ORIGINAL))) 112 LIBOBJECTS = $(addprefix $(OBJDIR)/, $(addsuffix .o, $(LIBFILES))) 113 TESTDEPENDS = $(addprefix $(OBJDIR)/, $(addsuffix .d, $(TESTFILES))) 114 ORIGINALDEPENDS = $(addprefix $(OBJDIR)/, $(addsuffix .d, $(ORIGINAL))) 115 LIBDEPENDS = $(addprefix $(OBJDIR)/, $(addsuffix .d, $(LIBFILES))) 116 117 #--- how to create object and dependencie files from sources --- 118 $(OBJDIR)/%.o:%.cpp 119 @echo $(RD)" compiling $<"$(NC) 120 $(CXX) $(CXXFLAGS) -c $< -o $@ 121 @echo $(RD)" creating dependencies for $<"$(NC) 122 $(CXX) $(CXXFLAGS) -MM -MT $(OBJDIR)/$*.o $< >$(OBJDIR)/$*.d 123 124 # all 125 ## make all - creates software 126 # ------------------------------------------------------- 127 #all: $(OBJDIR) $(OBJECTS) 128 # @echo $(RD)" linking object files"$(NC) 129 # $(CXX) $(LDFLAGS) -o $(APP) $(OBJECTS) $(LIBS) 130 # 131 #-include $(DEPENDS) 132 133 lib: $(OBJDIR) $(TESTOBJECTS) 134 @echo $(RD)" linking object files"$(NC) 135 $(CXX) $(LDFLAGS) -shared -o $(LIBAPP) $(TESTOBJECTS) $(LIBS) 136 cp src/Utils.h ./Utils.h 137 cp src/keys.h ./keys.h 138 -include $(TESTDEPENDS) 139 140 test: $(OBJDIR) $(ORIGINALOBJECTS) 141 @echo $(RD)" linking object files"$(NC) 142 $(CXX) $(LDFLAGS) -o $(ORIGINALAPP) $(ORIGINALOBJECTS) $(LIBS) 143 144 -include $(ORIGINALDEPENDS) 145 146 # create directories 147 $(OBJDIR): 148 @echo $(RD)" create $@"$(NC) 149 @mkdir -p $@ 150 @chmod 775 $@ 151 152 153 .PHONY: clean 154 clean: 155 @rm -rf $(OBJDIR) $(LCOVDIR) $(APP) 156 157 # help 158 ## make help - print this help 159 # ------------------------------------------------------- 160 .PHONY: help 161 help: 162 @sed -n '/^##/s/## //p' Makefile