1dac1702e5429a9b57f266c47136ea7fb9097b38
[brack.git] / Makefile
1 ###########################################################################
2 # Copyright (C) 2011 Swedish Meteorological and Hydrological Institute, SMHI,
3 #
4 # This file is part of bRack.
5 #
6 # bRack is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU Lesser General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
10
11 # bRack is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU Lesser General Public License for more details.
15
16 # You should have received a copy of the GNU Lesser General Public License
17 # along with RAVE.  If not, see <http://www.gnu.org/licenses/>.
18 # ------------------------------------------------------------------------
19
20 # Main build file
21 # @file
22 # @author Anders Henja (Swedish Meteorological and Hydrological Institute, SMHI)
23 # @date 2011-08-26
24 ###########################################################################
25
26 .PHONY:all
27 all: build
28
29 def.mk:
30         +[ -f $@ ] || $(error You need to run ./configure)
31
32 .PHONY:build 
33 build: def.mk
34         $(MAKE) -C drain
35         $(MAKE) -C rack
36         $(MAKE) -C pyrack
37
38 .PHONY:doc
39 doc:
40         $(MAKE) -C doxygen doc
41
42 .PHONY:install
43 install: def.mk
44         $(MAKE) -C drain install
45         $(MAKE) -C rack install
46         $(MAKE) -C pyrack install
47         @echo "################################################################"
48         @echo "To run the binaries you will need to setup your library path to"
49         @echo "LD_LIBRARY_PATH="`cat def.mk | grep LD_PRINTOUT | sed -e"s/LD_PRINTOUT=//"`
50         @echo "################################################################"
51
52 .PHONY:doc
53 doc:
54         $(MAKE) -C doxygen doc
55
56 .PHONY:clean
57 clean:
58         $(MAKE) -C drain clean
59         $(MAKE) -C rack clean
60         $(MAKE) -C pyrack clean
61         $(MAKE) -C doxygen clean
62
63 .PHONY:distclean
64 distclean:
65         $(MAKE) -C drain distclean
66         $(MAKE) -C rack distclean
67         $(MAKE) -C pyrack distclean
68         $(MAKE) -C doxygen distclean
69         @\rm -f *~ config.log config.status def.mk