14 PLUGINS_DIR = "plugins.d"
26 NETDATA_WITHOUT_ZLIB = 1
29 COMMON_FLAGS = BIN_DIR='$(BIN_DIR)' CONFIG_DIR='$(CONFIG_DIR)' LOG_DIR='$(LOG_DIR)' PLUGINS_DIR='$(PLUGINS_DIR)'
31 proc_sources = proc_net_dev.c proc_net_ip_vs_stats.c proc_diskstats.c proc_meminfo.c proc_net_netstat.c proc_net_snmp.c proc_net_stat_conntrack.c proc_stat.c proc_vmstat.c proc_net_rpc_nfsd.c proc_sys_kernel_random_entropy_avail.c proc_interrupts.c
32 sources = rrd.c rrd2json.c avl.c dictionary.c procfile.c common.c log.c popen.c url.c config.c web_buffer.c storage_number.c web_client.c global_statistics.c web_server.c plugins_d.c daemon.c plugin_tc.c plugin_checks.c plugin_idlejitter.c plugin_proc.c unit_test.c main.c
36 COMMON_FLAGS += debug=1
37 CFLAGS = -Wall -Wextra -O -ggdb -DBIN_DIR='$(BIN_DIR)' -DCONFIG_DIR='$(CONFIG_DIR)' -DLOG_DIR='$(LOG_DIR)' -DPLUGINS_DIR='$(PLUGINS_DIR)' -fno-omit-frame-pointer
38 # CFLAGS := -Wall -Wextra -O -g -DBIN_DIR='$(BIN_DIR)' -DCONFIG_DIR='$(CONFIG_DIR)' -DLOG_DIR='$(LOG_DIR)' -DPLUGINS_DIR='$(PLUGINS_DIR)' -fsanitize=thread -fno-omit-frame-pointer -fPIE
42 CFLAGS := -Wall -Wextra -O3 -DBIN_DIR='$(BIN_DIR)' -DCONFIG_DIR='$(CONFIG_DIR)' -DLOG_DIR='$(LOG_DIR)' -DPLUGINS_DIR='$(PLUGINS_DIR)' -fomit-frame-pointer
47 ifdef STORAGE_WITH_MATH
48 CFLAGS += -DSTORAGE_WITH_MATH=1
52 ifdef NETDATA_NO_DAEMON
53 CFLAGS += -DNETDATA_NO_DAEMON=1
56 ifdef NETDATA_WITHOUT_ZLIB
57 CFLAGS += -DNETDATA_WITHOUT_ZLIB=1
62 # nfacct requires root access, so we prefer it as a plugin.d external plugin
63 ifdef INTERNAL_PLUGIN_NFACCT
64 CFLAGS += -DINTERNAL_PLUGIN_NFACCT=1
65 sources += plugin_nfacct.c
66 libs += -lmnl -lnetfilter_acct
69 headers = $(patsubst %.c,%.h,$(sources))
70 objects = $(patsubst %.c,%.o,$(sources) $(proc_sources))
72 all: show_options netdata plugins
75 $(CC) $(CFLAGS) -c $< -o $@
78 $(CC) -o netdata $(objects) $(libs)
81 @echo " COMPILING WITH OPTIONS: $(CFLAGS)"
84 $(MAKE) -C plugins.d $(COMMON_FLAGS) all
87 $(MAKE) -C plugins.d clean
88 rm -f *.o netdata core
91 $(MAKE) -C plugins.d $(COMMON_FLAGS) install
93 echo " INSTALLING netdata to $(BIN_DIR)"; \
94 if [ -f $(BIN_DIR)/netdata ]; \
96 mv -f $(BIN_DIR)/netdata $(BIN_DIR)/netdata.old; \
98 cp -f netdata $(BIN_DIR)/; \
101 .PHONY: all show_options plugins clean install