94 lines
2.5 KiB
Makefile
94 lines
2.5 KiB
Makefile
# Toplevel Makefile
|
|
WITH_RRD=yes
|
|
|
|
PLUGINS := ctstat diskstat hwmon load memory mount netdev random rtstat stat uptime vmstat
|
|
PLUGINS += apache mysql conntrack alixusv
|
|
|
|
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
|
|
|
|
# ############################
|
|
|
|
SRC := sammler.c configfile.c event.c helper.c logging.c network.c plugins.c probe.c sockaddr.c
|
|
CFLAGS := -O2 -Wall -MMD -fno-stack-protector -I.
|
|
LDFLAGS := -ldl -rdynamic
|
|
|
|
# ############################
|
|
|
|
ifeq ("$(WITH_RRD)", "yes")
|
|
SRC += rrdtool.c
|
|
CFLAGS += -DWITH_RRD
|
|
LDFLAGS += -lrrd
|
|
TARGET = sammler
|
|
else
|
|
SRC += rrdtool-fake.c
|
|
TARGET = sammler_norrd
|
|
endif
|
|
|
|
# ############################
|
|
|
|
all: $(TARGET) plugins
|
|
|
|
$(TARGET): $(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 $(TARGET) $(DESTDIR)$(BINARY_DIR)/$(TARGET)
|
|
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)$(LOG_DIR)
|
|
|
|
|
|
ifeq ("$(WITH_RRD)", "yes")
|
|
install -d -m 755 $(DESTDIR)$(DATA_DIR)
|
|
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 $(TARGET)
|
|
|
|
include $(shell find . -name \*.d 2> /dev/null)
|