]> arthur.barton.de Git - nagcollect.git/blob - Makefile
3256507564605fd167daa9f361c6fdb953b97a91
[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:
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' and 'install-all'"
22         @echo " ** to install client and/or server components!"
23
24 install-all: install-server install-client
25
26 install-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:
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 check:
64
65 dist: distclean
66         rel=`grep "^NagCollect " ChangeLog|awk "{print \\\$$3 }"|head -n 1`; \
67          dir=`basename $${PWD}` \
68          && cd .. \
69          && COPYFILE_DISABLE=true tar cvzf "NagCollect-R$${rel}.tar.gz" \
70              --exclude .git "$${dir}"
71
72 distcheck: check dist
73
74 server:
75
76 client:
77
78 plugins:
79         mkdir -p client/lib/nagios/plugins
80         (cd client/lib/tests; (ls -1 *.tst; ls -1 `uname`/*.tst) | \
81          while read x; do \
82                 name="check_nc_`basename "$$x" | cut -d'.' -f1 | tr '[A-Z]' '[a-z]'`"; \
83                 dest="../nagios/plugins/$$name"; \
84                 echo " * $$x -> $$name"; \
85                 cat "../wrapper/wrapper-top.sh" >"$$dest"; \
86                 cat "$$x" >>"$$dest"; \
87                 cat "../wrapper/wrapper-bottom.sh" >>"$$dest"; \
88                 chmod 755 "$$dest"; \
89          done \
90         )
91
92 osxpkg:
93         rel=`grep "^NagCollect " ChangeLog|awk "{print \\\$$3 }"|head -n 1`; \
94          rm -rf "../NagCollect-R$${rel}.mpkg" \
95          && packagemaker \
96              --doc "contrib/NagCollect.pmdoc" \
97              --out "../NagCollect-R$${rel}.mpkg"
98
99 osxdmg: osxpkg
100         rel=`grep "^NagCollect " ChangeLog|awk "{print \\\$$3 }"|head -n 1`; \
101          rm -f "../NagCollect-R$${rel}.dmg" \
102          && hdiutil create -srcfolder \
103              "../NagCollect-R$${rel}.mpkg" "../NagCollect-R$${rel}.dmg"
104
105 nagcollecttestscripts:
106         COPYFILE_DISABLE=true tar -czvf nagcollecttestscripts.tgz \
107          -C client/lib/tests .
108
109 .PHONY: all install install-all install-server install-client \
110         clean distclean check dist distcheck nagcollecttestscripts
111
112 # -eof-