Makefile: fix quoting of echo commands on "make install" ... oops.
[nagcollect.git] / Makefile
1 #
2 # NagCollect -- Nagios Data Collector for Passive Checks
3 # Copyright (c)2009-2011 Alexander Barton, alex@barton.de
4 #
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
9 # Please read the file COPYING, README and AUTHORS for more information.
10 #
11
12 all: server client plugins
13
14 clean:
15         find . -name .DS_Store -delete
16         rm -rf client/lib/nagios
17
18 distclean: clean
19
20 install:
21         @echo " ** Use make targets 'install-client', 'install-server', 'install-plugins'"
22         @echo " ** or 'install-all' to install client, server and or plugin components!"
23
24 install-all: install-server install-client install-plugins
25
26 install-server: server
27         install -d -o nagios -g nagios -m 750 /var/lib/nagios3/collect
28         [ -r /etc/nagios3/system.cfg ] || \
29          install -D -o nagios -g root -m 640 -p \
30                 server/etc/system.cfg /etc/nagios3/system.cfg
31         [ -r /etc/nagios3/nagcollect.keys ] || \
32          install -D -o nagios -g www-data -m 640 -p \
33                 server/etc/nagcollect.keys /etc/nagios3/nagcollect.keys
34         install -D -o root -g root -m 755 -p \
35                 server/bin/nagios-submit-host /usr/local/sbin/nagios-submit-host
36         install -D -o root -g root -m 755 -p \
37                 server/bin/nagios-submit-service /usr/local/sbin/nagios-submit-service
38         install -D -o root -g root -m 644 -p \
39                 server/web/nagcollect.php /var/www/nagcollect.php
40         [ -r contrib/Makefile.`uname` ] \
41                 && make -f contrib/Makefile.`uname` "install-server" || true
42
43 install-client: client
44         install -d -o 0 -g 0 -m 755 /usr/local/sbin
45         install -c -o 0 -g 0 -m 755 -p \
46                 client/bin/nagcollect /usr/local/sbin/nagcollect
47         install -c -o 0 -g 0 -m 755 -p \
48                 client/bin/nagcollectreset /usr/local/sbin/nagcollectreset
49         install -d -o 0 -g 0 -m 755 /usr/local/etc
50         [ -r /usr/local/etc/nagcollect.conf ] || \
51          install -o 0 -g 0 -m 600 -p \
52                 client/etc/nagcollect.conf /usr/local/etc/nagcollect.conf
53         install -d -o 0 -g 0 -m 755 /usr/local/lib/nagcollect
54         (cd client/lib/tests; find . -name '*.tst' | \
55          while read x; do \
56           install -d -o 0 -g 0 -m 755 `dirname "/usr/local/lib/nagcollect/$$x"`; \
57           install -o 0 -g 0 -m 644 "$$x" "/usr/local/lib/nagcollect/$$x"; \
58          done \
59         )
60         [ -r contrib/Makefile.`uname` ] \
61                 && make -f contrib/Makefile.`uname` "install-client" || true
62
63 install-plugins: plugins
64         install -d -o 0 -g 0 -m 755 /usr/local/lib/nagios/plugins
65         (cd client/lib/nagios/plugins; find . -name 'check_nc_*' | \
66          while read x; do \
67           install -o 0 -g 0 -m 755 "$$x" "/usr/local/lib/nagios/plugins/$$x"; \
68          done \
69         )
70
71 check:
72
73 dist: distclean
74         rel=`grep "^NagCollect " ChangeLog|awk "{print \\\$$3 }"|head -n 1`; \
75          dir=`basename $${PWD}` \
76          && cd .. \
77          && COPYFILE_DISABLE=true tar cvzf "NagCollect-R$${rel}.tar.gz" \
78              --exclude .git "$${dir}"
79
80 distcheck: check dist
81
82 server:
83
84 client:
85
86 plugins:
87         mkdir -p client/lib/nagios/plugins
88         (cd client/lib/tests; (ls -1 *.tst; ls -1 `uname`/*.tst) | \
89          while read x; do \
90                 name="check_nc_`basename "$$x" | cut -d'.' -f1 | tr '[A-Z]' '[a-z]'`"; \
91                 dest="../nagios/plugins/$$name"; \
92                 echo " * $$x -> $$name"; \
93                 cat "../wrapper/wrapper-top.sh" >"$$dest"; \
94                 cat "$$x" >>"$$dest"; \
95                 cat "../wrapper/wrapper-bottom.sh" >>"$$dest"; \
96                 chmod 755 "$$dest"; \
97          done \
98         )
99
100 osxpkg:
101         rel=`grep "^NagCollect " ChangeLog|awk "{print \\\$$3 }"|head -n 1`; \
102          rm -rf "../NagCollect-R$${rel}.mpkg" \
103          && packagemaker \
104              --doc "contrib/NagCollect.pmdoc" \
105              --out "../NagCollect-R$${rel}.mpkg"
106
107 osxdmg: osxpkg
108         rel=`grep "^NagCollect " ChangeLog|awk "{print \\\$$3 }"|head -n 1`; \
109          rm -f "../NagCollect-R$${rel}.dmg" \
110          && hdiutil create -srcfolder \
111              "../NagCollect-R$${rel}.mpkg" "../NagCollect-R$${rel}.dmg"
112
113 nagcollecttestscripts:
114         COPYFILE_DISABLE=true tar -czvf nagcollecttestscripts.tgz \
115          -C client/lib/tests .
116
117 .PHONY: all install install-all install-server install-client \
118         install-plugins clean distclean check dist distcheck server client \
119         plugins osxpkg osxdmg nagcollecttestscripts
120
121 # -eof-