More adaptions
[beamb.git] / Makefile
1 ###########################################################################
2 # Copyright (C) 2011 Swedish Meteorological and Hydrological Institute, SMHI,
3 #
4 # This file is part of beamb.
5 #
6 # beamb 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 # beamb 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 beamb.  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-11-10
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 lib
35         $(MAKE) -C pybeamb
36         $(MAKE) -C data
37
38 .PHONY:install
39 install: def.mk
40         $(MAKE) -C lib install
41         $(MAKE) -C pybeamb install
42         $(MAKE) -C data install
43         $(MAKE) -C config install
44         @echo "################################################################"
45         @echo "To run the binaries you will need to setup your library path to"
46         @echo "LD_LIBRARY_PATH="`cat def.mk | grep LD_PRINTOUT | sed -e"s/LD_PRINTOUT=//"`
47         @echo "################################################################"
48
49 .PHONY:doc
50 doc:
51         $(MAKE) -C doxygen doc
52
53 .PHONY:test
54 test: def.mk
55         @chmod +x ./tools/test_beamb.sh
56         @./tools/test_beamb.sh
57
58 .PHONY:clean
59 clean:
60         $(MAKE) -C lib clean
61         $(MAKE) -C pybeamb clean
62         $(MAKE) -C data clean
63         #$(MAKE) -C config clean
64         #$(MAKE) -C test/pytest clean
65         #$(MAKE) -C doxygen clean
66         
67
68 .PHONY:distclean
69 distclean:
70         $(MAKE) -C lib distclean
71         $(MAKE) -C pybeamb distclean
72         $(MAKE) -C data distclean
73         #$(MAKE) -C doxygen distclean
74         #$(MAKE) -C config distclean
75         #$(MAKE) -C test/pytest distclean
76         @\rm -f *~ config.log config.status def.mk