Merge
[c11concurrency-benchmarks.git] / mabain / Makefile
1 #mabain Makefile
2
3 ifndef MABAIN_INSTALL_DIR
4 MABAIN_INSTALL_DIR=/usr/local
5 endif
6
7 build:
8         make -C src build
9         make -C binaries build
10
11 install: build
12         echo "mabain install directory: $(MABAIN_INSTALL_DIR)"
13         mkdir -p $(MABAIN_INSTALL_DIR)/include/mabain
14         cp src/db.h $(MABAIN_INSTALL_DIR)/include/mabain
15         cp src/mb_data.h $(MABAIN_INSTALL_DIR)/include/mabain
16         cp src/mabain_consts.h $(MABAIN_INSTALL_DIR)/include/mabain
17         cp src/lock.h $(MABAIN_INSTALL_DIR)/include/mabain
18         cp src/error.h $(MABAIN_INSTALL_DIR)/include/mabain
19         cp src/integer_4b_5b.h $(MABAIN_INSTALL_DIR)/include/mabain
20
21         mkdir -p $(MABAIN_INSTALL_DIR)/lib
22         cp src/libmabain.so $(MABAIN_INSTALL_DIR)/lib
23
24         mkdir -p $(MABAIN_INSTALL_DIR)/bin
25         cp binaries/mbc $(MABAIN_INSTALL_DIR)/bin
26
27 uninstall:
28         rm -rf $(MABAIN_INSTALL_DIR)/include/mabain
29         rm -f $(MABAIN_INSTALL_DIR)/lib/libmabain.so
30         rm -f $(MABAIN_INSTALL_DIR)/bin/mbc
31
32 clean:
33         -make -C src clean
34         -make -C binaries clean
35         -make -C examples clean
36
37 distclean: clean
38         -rm -rf doc/*
39         -rm -f tags
40
41 index:
42         -ctags -R *
43         -doxygen doxygen.conf
44         -echo "Generating documentation..."
45         -echo "Use following index file : "
46         -readlink -f doc/html/index.html
47         -echo "Done with doxygen"
48
49 unit-test: build
50         make -C src unit-test
51
52 .PHONY: docker
53 docker:
54         docker build --rm -t chxdeng/mabain:latest .
55         docker rmi $$(docker images -q -f dangling=true)