7 CXXFLAGS = -ggdb3 -MMD -I. -std=c++1y $(STDLIB) $(PEDANTRY) $(OPTFLAGS)
8 LDFLAGS = -std=c++1y $(STDLIB) $(OPTFLAGS)
12 PRODUCTS = lock_server lock_tester rsm_tester rpc/rpctest
14 ifeq "$(USE_CLANG)" "1"
16 PEDANTRY = -Werror -Weverything -Wall -Wextra -pedantic-errors -pedantic \
17 -Wno-c++98-compat-pedantic -Wno-padded -Weffc++ \
18 -Wno-non-virtual-dtor -Wno-weak-vtables
19 STDLIB = -stdlib=libc++
24 PEDANTRY = -pedantic -Wall -Wextra -fno-default-inline -Werror
30 all: $(PRODUCTS) $(POSTBUILD)
32 LIBRPC_OBJECTS = rpc/rpc.o rpc/connection.o rpc/poll_mgr.o rpc/thread_pool.o
34 rpc/librpc.a: $(foreach x,$(LIBRPC_OBJECTS),rpc/librpc.a($(x)))
36 rpc/rpctest: rpc/rpctest.o debug.o rpc/librpc.a t4.o
38 lock_tester : lock_tester.o lock_client.o debug.o rsm_client.o rpc/librpc.a t4.o
40 lock_server : lock_smain.o debug.o rsm.o paxos.o config.o log.o lock_server.o rpc/librpc.a t4.o
42 rsm_tester: rsm_tester.o rsmtest_client.o debug.o rpc/librpc.a t4.o
47 clean_files=rpc/rpctest rpc/*.o *.d rpc/*.d rpc/librpc.a *.o config *.log lock_server lock_tester rsm_tester
48 .PHONY: clean $(EXTRA_TARGETS)
50 -rm -rf $(clean_files)