You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.5 KiB
88 lines
2.5 KiB
# Toplevel Makefile |
|
WITH_RRD=yes |
|
|
|
PLUGINS := ctstat diskstat hwmon load memory mount netdev random rtstat stat uptime vmstat |
|
PLUGINS += apache mysql conntrack |
|
|
|
DESTDIR = |
|
BINARY_DIR = /usr/local/bin |
|
CONFIG_DIR = /usr/local/etc |
|
PLUGIN_DIR = /usr/local/lib/sammler |
|
DATA_DIR = /var/lib/sammler |
|
LOG_DIR = /var/log |
|
WWW_DIR = /var/www |
|
WWW_CONFIG = $(WWW_DIR)/sammler_graph.conf |
|
WWW_OWNER = www-data |
|
|
|
# ############################ |
|
|
|
SAMMLER_SRC := sammler.c configfile.c event.c helper.c logging.c network.c plugins.c probe.c |
|
CFLAGS := -O2 -Wall -MMD -fno-stack-protector -Iinclude |
|
LDFLAGS := -ldl -rdynamic |
|
|
|
# ############################ |
|
|
|
ifeq ("$(WITH_RRD)", "yes") |
|
SAMMLER_SRC += rrdtool.c |
|
CFLAGS += -DWITH_RRD |
|
LDFLAGS += -lrrd |
|
endif |
|
|
|
# ############################ |
|
|
|
all: sammler plugins |
|
|
|
sammler: $(SAMMLER_SRC:%.c=%.o) |
|
@echo " Linking file: $@" |
|
@$(CC) $(LDFLAGS) $^ -o $@ |
|
|
|
%.o: %.c |
|
@echo " Building file: $<" |
|
@$(CC) $(CFLAGS) -o $@ -c $< |
|
|
|
.PHONY: plugins |
|
plugins: $(PLUGINS:%=plugins/%.o) $(PLUGINS:%=plugins/%.so) |
|
|
|
plugins/%.so: plugins/%.o |
|
@echo " Linking file: $@" |
|
@$(CC) $(LDFLAGS) -shared -o $@ $< |
|
|
|
plugins/apache.so: plugins/apache.o |
|
@echo " Linking file: $@" |
|
@$(CC) $(LDFLAGS) -shared -o -lcurl -o $@ $< |
|
|
|
plugins/conntrack.so: plugins/conntrack.o |
|
@echo " Linking file: $@" |
|
@$(CC) $(LDFLAGS) -shared -o -lnfnetlink -lnetfilter_conntrack -o $@ $< |
|
|
|
plugins/mysql.so: plugins/mysql.o plugins/mysql_helper.o |
|
@echo " Linking file: $@" |
|
@$(CC) $(LDFLAGS) -shared -o -lmysqlclient -o $@ $< |
|
|
|
install: all |
|
install -D -m 755 -s sammler $(DESTDIR)$(BINARY_DIR)/sammler |
|
install -D -m 644 sammler.conf $(DESTDIR)$(CONFIG_DIR)/sammler.conf |
|
sed -i -e "s:^logfile .*$$:logfile $(LOG_DIR)/sammler.log:" \ |
|
-e "s:^rrd_dir .*$$:rrd_dir $(DATA_DIR):" \ |
|
-e "s:^plugin_dir .*$$:plugin_dir $(PLUGIN_DIR):" \ |
|
$(DESTDIR)$(CONFIG_DIR)/sammler.conf |
|
install -d -m 755 $(DESTDIR)$(PLUGIN_DIR) |
|
install -m 755 -s plugins/*.so $(DESTDIR)$(PLUGIN_DIR) |
|
install -d -m 755 $(DESTDIR)$(DATA_DIR) $(DESTDIR)$(LOG_DIR) |
|
|
|
|
|
ifeq ("$(WITH_RRD)", "yes") |
|
install -D -m 644 sammler.php $(DESTDIR)$(WWW_DIR)/sammler.php |
|
sed -i -e "s:%%WWW_CONFIG%%:$(WWW_CONFIG):" \ |
|
-e "s:%%DATA_DIR%%:$(DATA_DIR):" \ |
|
$(DESTDIR)$(WWW_DIR)/sammler.php |
|
-install -D -m 644 -o $(WWW_OWNER) /dev/null $(DESTDIR)$(WWW_CONFIG) |
|
else |
|
sed -i -e "s:^forward_only .*$$:forward_only true:" \ |
|
$(DESTDIR)$(CONFIG_DIR)/sammler.conf |
|
endif |
|
|
|
clean: |
|
rm -rf *.d plugins/*.d *.o plugins/*.o plugins/*.so sammler |
|
|
|
include $(shell find . -name \*.d 2> /dev/null)
|
|
|