File: common.mk

package info (click to toggle)
nagios-plugins-contrib 24.20190301
  • links: PTS, VCS
  • area: main
  • in suites: buster, sid
  • size: 6,944 kB
  • sloc: perl: 36,804; sh: 13,006; python: 2,549; php: 593; lex: 582; makefile: 473; ansic: 281; ruby: 149; awk: 81
file content (71 lines) | stat: -rw-r--r-- 2,115 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71

# import buildflags
CFLAGS += $(shell dpkg-buildflags --get CFLAGS)
CPPFLAGS += $(shell dpkg-buildflags --get CPPFLAGS)
CXXFLAGS += $(shell dpkg-buildflags --get CXXFLAGS)
LDFLAGS += $(shell dpkg-buildflags --get LDFLAGS)

# define common directories
PLUGINDIR := /usr/lib/nagios/plugins
CRONJOBDIR := /usr/lib/nagios/cronjobs
CONFIGDIR := /etc/nagios-plugins/config
PNP4NAGIOSTEMPLATEDIR := /etc/pnp4nagios/templates.d/nagios-plugins-contrib
INIDIR := /etc/nagios-plugins
CONFIGFILES := $(wildcard *.cfg)

# guess the name of the plugin to build if not defined
PLUGINNAME := $(shell basename $(CURDIR))
ifndef PLUGIN
PLUGIN := $(PLUGINNAME)
endif

DOCDIR := /usr/share/doc/nagios-plugins-contrib/$(PLUGINNAME)

# add some default files to clean
# we actually need strip here. make is weird sometimes.
CLEANEXTRAFILES := $(strip $(wildcard *.o) $(wildcard *.a) $(wildcard *.so))

# build the stuff actually
all:: $(PLUGIN) $(MANPAGES) $(INIFILES) $(CRONJOBS)

install::
	install -d $(DESTDIR)$(PLUGINDIR)
	install -m 755 -o root -g root $(PLUGIN) $(DESTDIR)$(PLUGINDIR)
ifdef CONFIGFILES
	install -d $(DESTDIR)$(CONFIGDIR)
	install -m 644 -o root -g root $(CONFIGFILES) $(DESTDIR)$(CONFIGDIR)
endif
ifdef MANPAGES
	set -e; for m in $(MANPAGES); do \
		section=`echo $$m | sed 's,\.gz$$,,;s,.*\.,,'` ;\
		mandir="/usr/share/man/man$${section}" ;\
		install -d $(DESTDIR)$${mandir} ;\
		install -m 644 -o root -g root $${m} $(DESTDIR)$${mandir} ;\
	done
endif
ifdef PNP4NAGIOSTEMPLATES
	install -d $(DESTDIR)$(PNP4NAGIOSTEMPLATEDIR)
	install -m 644 -o root -g root $(PNP4NAGIOSTEMPLATES) $(DESTDIR)$(PNP4NAGIOSTEMPLATEDIR)
endif
ifdef INIFILES
	install -d $(DESTDIR)$(INIDIR)
	install -m 644 -o root -g root $(INIFILES) $(DESTDIR)$(INIDIR)
endif
ifdef DOCFILES
	install -d $(DESTDIR)$(DOCDIR)
	install -m 644 -o root -g root $(DOCFILES) $(DESTDIR)$(DOCDIR)
endif
ifdef CRONJOBS
	install -d $(DESTDIR)$(CRONJOBDIR)
	install -m 755 -o root -g root $(CRONJOBS) $(DESTDIR)$(CRONJOBDIR)
endif

clean::
ifdef CLEANFILES
	rm -f $(CLEANFILES)
endif
ifneq (,$(CLEANEXTRAFILES))
	rm -f $(CLEANEXTRAFILES)
endif

.PHONY: clean