Fixed installation scripts
[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         @echo "################################################################"
44         @echo "To run the binaries you will need to setup your library path to"
45         @echo "LD_LIBRARY_PATH="`cat def.mk | grep LD_PRINTOUT | sed -e"s/LD_PRINTOUT=//"`
46         @echo "################################################################"
47
48 .PHONY:doc
49 doc:
50         $(MAKE) -C doxygen doc
51
52 .PHONY:test
53 test: def.mk
54         @chmod +x ./tools/test_beamb.sh
55         @./tools/test_beamb.sh
56
57 .PHONY:clean
58 clean:
59         $(MAKE) -C lib clean
60         $(MAKE) -C pybeamb clean
61         $(MAKE) -C data clean
62         
63
64 .PHONY:distclean
65 distclean:
66         $(MAKE) -C lib distclean
67         $(MAKE) -C pybeamb distclean
68         $(MAKE) -C data distclean
69         #$(MAKE) -C doxygen distclean
70         #$(MAKE) -C config distclean
71         #$(MAKE) -C test/pytest distclean
72         @\rm -f *~ config.log config.status def.mk