]> arthur.barton.de Git - nagcollect.git/blob - Makefile
5c783c938f0ac69aea90df4b0645104f7872b01d
[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 -c -o 0 -g 0 -m 755 -p \
50                 client/bin/nagcollecttest /usr/local/sbin/nagcollecttest
51         install -d -o 0 -g 0 -m 755 /usr/local/etc
52         [ -r /usr/local/etc/nagcollect.conf ] || \
53          install -o 0 -g 0 -m 600 -p \
54                 client/etc/nagcollect.conf /usr/local/etc/nagcollect.conf
55         install -d -o 0 -g 0 -m 755 /usr/local/lib/nagcollect
56         (cd client/lib/tests; find . -name '*.tst' | \
57          while read x; do \
58           install -d -o 0 -g 0 -m 755 `dirname "/usr/local/lib/nagcollect/$$x"`; \
59           install -o 0 -g 0 -m 644 "$$x" "/usr/local/lib/nagcollect/$$x"; \
60          done \
61         )
62         [ -r contrib/Makefile.`uname` ] \
63                 && make -f contrib/Makefile.`uname` "install-client" || true
64
65 install-plugins: plugins
66         install -d -o 0 -g 0 -m 755 /usr/local/lib/nagios/plugins
67         (cd client/lib/nagios/plugins; find . -name 'check_nc_*' | \
68          while read x; do \
69           install -o 0 -g 0 -m 755 "$$x" "/usr/local/lib/nagios/plugins/$$x"; \
70          done \
71         )
72
73 check:
74
75 dist: distclean
76         rel=`grep "^NagCollect " ChangeLog|awk "{print \\\$$3 }"|head -n 1`; \
77          dir=`basename $${PWD}` \
78          && cd .. \
79          && COPYFILE_DISABLE=true tar cvzf "NagCollect-R$${rel}.tar.gz" \
80              --exclude .git "$${dir}"
81
82 distcheck: check dist
83
84 server:
85
86 client:
87
88 plugins:
89         mkdir -p client/lib/nagios/plugins
90         (cd client/lib/tests; (ls -1 *.tst; ls -1 `uname`/*.tst 2>/dev/null) | \
91          while read x; do \
92                 name="check_nc_`basename "$$x" | cut -d'.' -f1 | tr '[A-Z]' '[a-z]'`"; \
93                 dest="../nagios/plugins/$$name"; \
94                 echo " * $$x -> $$name"; \
95                 cat "../wrapper/wrapper-top.sh" >"$$dest"; \
96                 cat "$$x" >>"$$dest"; \
97                 cat "../wrapper/wrapper-bottom.sh" >>"$$dest"; \
98                 chmod 755 "$$dest"; \
99          done \
100         )
101
102 osxpkg:
103         rel=`grep "^NagCollect " ChangeLog|awk "{print \\\$$3 }"|head -n 1`; \
104          rm -rf "../NagCollect-R$${rel}.mpkg" \
105          && packagemaker \
106              --doc "contrib/NagCollect.pmdoc" \
107              --out "../NagCollect-R$${rel}.mpkg"
108
109 osxdmg: osxpkg
110         rel=`grep "^NagCollect " ChangeLog|awk "{print \\\$$3 }"|head -n 1`; \
111          rm -f "../NagCollect-R$${rel}.dmg" \
112          && hdiutil create -srcfolder \
113              "../NagCollect-R$${rel}.mpkg" "../NagCollect-R$${rel}.dmg"
114
115 nagcollecttestscripts:
116         COPYFILE_DISABLE=true tar -czvf nagcollecttestscripts.tgz \
117          -C client/lib/tests .
118
119 .PHONY: all install install-all install-server install-client \
120         install-plugins clean distclean check dist distcheck server client \
121         plugins osxpkg osxdmg nagcollecttestscripts
122
123 # -eof-