10bee15c2d2701795490fa0581de37790a96ce3f
[c11concurrency-benchmarks.git] / mabain / src / Makefile
1 CPP=clang++
2 TARGET=libmabain.so
3
4 all: $(TARGET)
5
6 CFLAGS  = -I. -I.. -Iutil -Wall -Werror -c -Wwrite-strings -Wsign-compare -Wcast-align -Wformat-security -fdiagnostics-show-option
7 CFLAGS += -g -ggdb -fPIC -O2 -std=c++11
8 CFLAGS += -D__SHM_LOCK__ -D__LOCK_FREE__ -D__SHM_QUEUE__
9 LDFLAGS = -lpthread
10
11 SOURCES = $(wildcard *.cpp) $(wildcard util/*.cpp)
12 HEADERS = $(wildcard *.h) $(wildcard util/*.h)
13 OBJECTS = $(SOURCES:.cpp=.o)
14
15 $(TARGET):$(OBJECTS) $(HEADERS)
16         $(CPP) -shared -o $(TARGET) $(OBJECTS) $(LDFLAGS)
17
18 .cpp.o: $(HEADERS) $(SOURCES)
19         $(CPP) $(CFLAGS) $< -o $@
20
21 build: all
22
23 uninstall:
24         -rm -rf $(INSTALLDIR)/include/mabain
25         -rm -f $(INSTALLDIR)/lib/$(TARGET)
26         -rm -f $(INSTALLDIR)/bin/mbc
27
28 clean:
29         -rm -f *.o util/*.o $(TARGET)
30         -make -C unittest clean
31
32 unit-test: all
33         make -C unittest