]> arthur.barton.de Git - netdata.git/blob - src/Makefile.am
apps.plugin now checks its capabilities where available
[netdata.git] / src / Makefile.am
1 #
2 # Copyright (C) 2015 Alon Bar-Lev <alon.barlev@gmail.com>
3 #
4 MAINTAINERCLEANFILES= $(srcdir)/Makefile.in
5
6 AM_CPPFLAGS = \
7         -DVARLIB_DIR="\"$(varlibdir)\"" \
8         -DCACHE_DIR="\"$(cachedir)\"" \
9         -DCONFIG_DIR="\"$(configdir)\"" \
10         -DLOG_DIR="\"$(logdir)\"" \
11         -DPLUGINS_DIR="\"$(pluginsdir)\"" \
12         -DRUN_DIR="\"$(localstatedir)/run/netdata\"" \
13         -DWEB_DIR="\"$(webdir)\"" \
14         $(NULL)
15 AM_CFLAGS = \
16         $(OPTIONAL_MATH_CFLAGS) \
17         $(OPTIONAL_NFACCT_CLFAGS) \
18         $(OPTIONAL_ZLIB_CFLAGS) \
19         $(OPTIONAL_UUID_CFLAGS) \
20         $(NULL)
21
22 sbin_PROGRAMS = netdata
23 dist_cache_DATA = .keep
24 dist_varlib_DATA = .keep
25 dist_registry_DATA = .keep
26 dist_log_DATA = .keep
27 if !MACOS
28 plugins_PROGRAMS = apps.plugin
29 endif
30
31 netdata_SOURCES = \
32         appconfig.c appconfig.h \
33         adaptive_resortable_list.c adaptive_resortable_list.h \
34         avl.c avl.h \
35         backends.c backends.h \
36         clocks.c clocks.h \
37         common.c common.h \
38         daemon.c daemon.h \
39         dictionary.c dictionary.h \
40         eval.c eval.h \
41         global_statistics.c global_statistics.h \
42         health.c health.h \
43         inlined.h \
44         log.c log.h \
45         main.c main.h \
46         plugin_checks.c plugin_checks.h \
47         plugin_idlejitter.c plugin_idlejitter.h \
48         plugin_nfacct.c plugin_nfacct.h \
49         plugin_tc.c plugin_tc.h \
50         plugins_d.c plugins_d.h \
51         popen.c popen.h \
52         socket.c socket.h \
53         simple_pattern.c simple_pattern.h \
54         sys_fs_cgroup.c \
55         sys_devices_system_edac_mc.c \
56         sys_devices_system_node.c \
57         procfile.c procfile.h \
58         proc_self_mountinfo.c proc_self_mountinfo.h \
59         registry.c registry.h \
60         registry_internals.c registry_internals.h \
61         registry_url.c registry_url.h \
62         registry_person.c registry_person.h \
63         registry_machine.c registry_machine.h \
64         registry_init.c \
65         registry_db.c \
66         registry_log.c \
67         rrd.c rrd.h \
68         rrd2json.c rrd2json.h \
69         storage_number.c storage_number.h \
70         unit_test.c unit_test.h \
71         url.c url.h \
72         web_buffer.c web_buffer.h \
73         web_buffer_svg.c web_buffer_svg.h \
74         web_client.c web_client.h \
75         web_server.c web_server.h \
76         $(NULL)
77
78 if FREEBSD
79 netdata_SOURCES += \
80         plugin_freebsd.c plugin_freebsd.h \
81         freebsd_sysctl.c \
82         $(NULL)
83 else
84 if MACOS
85 netdata_SOURCES += \
86         plugin_macos.c plugin_macos.h \
87         macos_sysctl.c \
88         macos_mach_smi.c \
89         macos_fw.c \
90         $(NULL)
91 else
92 netdata_SOURCES += \
93         ipc.c ipc.h \
94         plugin_proc.c plugin_proc.h \
95         plugin_proc_diskspace.c plugin_proc_diskspace.h \
96         proc_diskstats.c \
97         proc_interrupts.c \
98         proc_softirqs.c \
99         proc_loadavg.c \
100         proc_meminfo.c \
101         proc_net_dev.c \
102         proc_net_ip_vs_stats.c \
103         proc_net_netstat.c \
104         proc_net_rpc_nfs.c \
105         proc_net_rpc_nfsd.c \
106         proc_net_snmp.c \
107         proc_net_snmp6.c \
108         proc_net_softnet_stat.c \
109         proc_net_stat_conntrack.c \
110         proc_net_stat_synproxy.c \
111         proc_stat.c \
112         proc_sys_kernel_random_entropy_avail.c \
113         proc_vmstat.c \
114         proc_uptime.c \
115         sys_kernel_mm_ksm.c \
116         $(NULL)
117 endif
118 endif
119
120 netdata_LDADD = \
121         $(OPTIONAL_MATH_LIBS) \
122         $(OPTIONAL_NFACCT_LIBS) \
123         $(OPTIONAL_ZLIB_LIBS) \
124         $(OPTIONAL_UUID_LIBS) \
125         $(NULL)
126
127 apps_plugin_SOURCES = \
128         apps_plugin.c \
129         avl.c avl.h \
130         clocks.c clocks.h \
131         common.c common.h \
132         inlined.h \
133         log.c log.h \
134         procfile.c procfile.h \
135         web_buffer.c web_buffer.h \
136         $(NULL)
137
138 apps_plugin_LDADD = \
139         $(OPTIONAL_MATH_LIBS) \
140         $(OPTIONAL_CAP_LIBS) \
141         $(NULL)
142
143 install-data-hook:
144         if [ `id -u` == 0 ]; then \
145                 chown root '$(DESTDIR)$(pluginsdir)/apps.plugin' && \
146                 chmod 0755 '$(DESTDIR)$(pluginsdir)/apps.plugin' && \
147                 ( setcap cap_dac_read_search,cap_sys_ptrace+ep '$(DESTDIR)$(pluginsdir)/apps.plugin' || \
148                   chmod 4755 '$(DESTDIR)$(pluginsdir)/apps.plugin' ); \
149         else \
150                 echo; \
151                 echo "ATTENTION"; \
152                 echo; \
153                 echo "$(pluginsdir)/apps.plugin requires escalated capabilities:"; \
154                 echo "sudo chown root '$(DESTDIR)$(pluginsdir)/apps.plugin'"; \
155                 echo "sudo chmod 0755 '$(DESTDIR)$(pluginsdir)/apps.plugin'"; \
156                 echo "sudo setcap cap_dac_read_search,cap_sys_ptrace+ep '$(DESTDIR)$(pluginsdir)/apps.plugin'"; \
157                 echo; \
158         fi