[doc] Update INSTALL file once more.
[libvscmgmt.git] / Makefile
1 #!/usr/bin/make
2 #
3 # Makefile to build the Library for Virtualized Supercomputer Management
4 #
5 # Copyright (C) 2009 Matthias Bolte <matthias.bolte@googlemail.com>
6 #
7
8 PWD = $(shell pwd)
9
10 #
11 # Rules
12 #
13
14 .PHONY: all clean install check docs new
15
16 all: backend-all lib-all python-all tests-all
17
18 clean: backend-clean lib-clean python-clean tests-clean
19         rm -rf -- docs/doxygen
20
21 install: backend-install lib-install python-install include-install
22
23 check: all
24         $(MAKE) -I $(PWD) -C tests check
25
26 check-%: all
27         $(MAKE) -I $(PWD) -C tests $@
28
29 docs:
30         rm -rf -- docs/doxygen
31         mkdir -p docs/doxygen
32         doxygen
33         cp doxygen.css docs/doxygen/html/doxygen.css
34
35 coverage: all
36         mkdir -p ./coverage
37         lcov --directory . --zerocounters
38         make -s check
39         lcov --directory . --capture --output-file ./coverage/mgmt.info
40         genhtml -o ./coverage --num-spaces 4 ./coverage/mgmt.info
41
42 %-all:
43         @echo $@ | sed 's,\([a-z]*\)-all,echo "building \1"; $(MAKE) -I $(PWD) -C \1 all;,g' | sh
44
45 %-clean:
46         @echo $@ | sed 's,\([a-z]*\)-clean,echo "cleaning \1"; $(MAKE) -I $(PWD) -C \1 clean;,g' | sh
47
48 %-install:
49         @echo $@ | sed 's,\([a-z]*\)-install,echo "installing \1"; $(MAKE) -I $(PWD) -C \1 install;,g' | sh
50
51 new:
52         $(MAKE) clean && $(MAKE)