186 lines
5.1 KiB
Makefile
186 lines
5.1 KiB
Makefile
############################
|
|
# Makefile for Nagios
|
|
#
|
|
############################
|
|
|
|
|
|
# Source code directories
|
|
SRC_COMMON=../common
|
|
SRC_INCLUDE=../include
|
|
SRC_XDATA=../xdata
|
|
SRC_LIB=../lib
|
|
|
|
CC=@CC@
|
|
CFLAGS=-Wall -I.. @CFLAGS@ @DEFS@ -DNSCORE
|
|
|
|
# Compiler flags for use with gprof
|
|
#CFLAGS=-pg -I.. -DHAVE_CONFIG_H -DNSCORE
|
|
|
|
# Compiler flags for use with Valgrind
|
|
#CFLAGS=-O0 -I.. -g -DHAVE_CONFIG_H -DNSCORE
|
|
|
|
# Compiler flags for optimization (overrides default)
|
|
#CFLAGS=-O3 -Wall -I.. -fno-strict-aliasing -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -DHAVE_CONFIG_H -DNSCORE
|
|
|
|
# Compiler flags for optimization (complements default)
|
|
#CFLAGS_WARN=-Wall -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs
|
|
#CFLAGS_DEBUG=-ggdb3 -g3
|
|
#CFLAGS_GPROF=-pg
|
|
#CFLAGS+=$(CFLAGS_WARN) $(CFLAGS_DEBUG) $(CFLAGS_GPROF)
|
|
|
|
LDFLAGS=@LDFLAGS@
|
|
LIBS=@LIBS@
|
|
|
|
prefix=@prefix@
|
|
exec_prefix=@exec_prefix@
|
|
LOGDIR=@localstatedir@
|
|
CFGDIR=@sysconfdir@
|
|
BINDIR=@bindir@
|
|
CGIDIR=@cgibindir@
|
|
HTMLDIR=@webdir@
|
|
INSTALL=@INSTALL@
|
|
INSTALL_OPTS=@INSTALL_OPTS@
|
|
COMMAND_OPTS=@COMMAND_OPTS@
|
|
STRIP=@STRIP@
|
|
|
|
CGIURL=@cgiurl@
|
|
HTMURL=@htmurl@
|
|
|
|
MATHLIBS=-lm
|
|
SOCKETLIBS=@SOCKETLIBS@
|
|
BROKERLIBS=@BROKERLIBS@
|
|
|
|
BROKER_LDFLAGS=@BROKER_LDFLAGS@
|
|
|
|
CP=@CP@
|
|
|
|
# Extra base code
|
|
BASEEXTRALIBS=@BASEEXTRALIBS@
|
|
|
|
# Generated automatically from configure script
|
|
BROKER_O=@BROKER_O@
|
|
BROKER_H=@BROKER_H@
|
|
|
|
# Object data
|
|
ODATALIBS=objects-base.o xobjects-base.o
|
|
ODATAHDRS=
|
|
ODATADEPS=$(ODATALIBS)
|
|
|
|
# Retention data
|
|
RDATALIBS=retention-base.o xretention-base.o
|
|
RDATAHDRS=
|
|
RDATADEPS=$(RDATALIBS)
|
|
|
|
# Comment data
|
|
CDATALIBS=comments-base.o xcomments-base.o
|
|
CDATAHDRS=
|
|
CDATADEPS=$(CDATALIBS)
|
|
|
|
# Status data
|
|
SDATALIBS=statusdata-base.o xstatusdata-base.o
|
|
SDATAHDRS=
|
|
SDATADEPS=$(SDATALIBS)
|
|
|
|
# Performance data
|
|
PDATALIBS=perfdata-base.o xperfdata-base.o
|
|
PDATAHDRS=
|
|
PDATADEPS=$(PDATALIBS)
|
|
|
|
# Downtime data
|
|
DDATALIBS=downtime-base.o
|
|
DDATAHDRS=
|
|
DDATADEPS=$(DDATALIBS)
|
|
|
|
|
|
OBJS=$(BROKER_O) $(SRC_COMMON)/shared.o @NERD_O@ query-handler.o workers.o checks.o config.o commands.o events.o flapping.o logging.o macros-base.o netutils.o notifications.o sehandlers.o utils.o $(RDATALIBS) $(CDATALIBS) $(ODATALIBS) $(SDATALIBS) $(PDATALIBS) $(DDATALIBS) $(BASEEXTRALIBS)
|
|
OBJDEPS=$(ODATADEPS) $(ODATADEPS) $(RDATADEPS) $(CDATADEPS) $(SDATADEPS) $(PDATADEPS) $(DDATADEPS) $(BROKER_H)
|
|
|
|
all: nagios nagiostats
|
|
|
|
|
|
######## REQUIRED FILES ##########
|
|
|
|
macros-base.o: $(SRC_COMMON)/macros.c $(SRC_INCLUDE)/macros.h
|
|
$(CC) $(CFLAGS) -c -o $@ $(SRC_COMMON)/macros.c
|
|
|
|
objects-base.o: $(SRC_COMMON)/objects.c $(SRC_INCLUDE)/objects.h
|
|
$(CC) $(CFLAGS) -c -o $@ $(SRC_COMMON)/objects.c
|
|
|
|
xobjects-base.o: $(SRC_XDATA)/xodtemplate.c $(SRC_XDATA)/xodtemplate.h
|
|
$(CC) $(CFLAGS) -c -o $@ $(SRC_XDATA)/xodtemplate.c
|
|
|
|
statusdata-base.o: $(SRC_COMMON)/statusdata.c $(SRC_INCLUDE)/statusdata.h
|
|
$(CC) $(CFLAGS) -c -o $@ $(SRC_COMMON)/statusdata.c
|
|
|
|
xstatusdata-base.o: $(SRC_XDATA)/xsddefault.c $(SRC_XDATA)/xsddefault.h
|
|
$(CC) $(CFLAGS) -c -o $@ $(SRC_XDATA)/xsddefault.c
|
|
|
|
comments-base.o: $(SRC_COMMON)/comments.c $(SRC_INCLUDE)/comments.h
|
|
$(CC) $(CFLAGS) -c -o $@ $(SRC_COMMON)/comments.c
|
|
|
|
xcomments-base.o: $(SRC_XDATA)/xcddefault.c $(SRC_XDATA)/xcddefault.h
|
|
$(CC) $(CFLAGS) -c -o $@ $(SRC_XDATA)/xcddefault.c
|
|
|
|
downtime-base.o: $(SRC_COMMON)/downtime.c $(SRC_INCLUDE)/downtime.h
|
|
$(CC) $(CFLAGS) -c -o $@ $(SRC_COMMON)/downtime.c
|
|
|
|
perfdata-base.o: perfdata.c $(SRC_INCLUDE)/perfdata.h
|
|
$(CC) $(CFLAGS) -c -o $@ perfdata.c
|
|
|
|
xperfdata-base.o: $(SRC_XDATA)/xpddefault.c $(SRC_XDATA)/xpddefault.h
|
|
$(CC) $(CFLAGS) -c -o $@ $(SRC_XDATA)/xpddefault.c
|
|
|
|
retention-base.o: sretention.c $(SRC_INCLUDE)/sretention.h
|
|
$(CC) $(CFLAGS) -c -o $@ sretention.c
|
|
|
|
xretention-base.o: $(SRC_XDATA)/xrddefault.c $(SRC_XDATA)/xrddefault.h
|
|
$(CC) $(CFLAGS) -c -o $@ $(SRC_XDATA)/xrddefault.c
|
|
|
|
$(SRC_COMMON)/shared.o: $(SRC_COMMON)/shared.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
workers.o: workers.c wpres-phash.h
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
wpres-phash.h: wpres.gperf
|
|
gperf -S 1 -t -H wpres_key_phash -N wpres_get_key $< > $@
|
|
|
|
########## NAGIOS ##########
|
|
|
|
libnagios:
|
|
$(MAKE) -C $(SRC_LIB)
|
|
|
|
nagios.o: nagios.c $(SRC_INCLUDE)/nagios.h $(SRC_INCLUDE)/locations.h
|
|
$(CC) $(CFLAGS) -c -o $@ nagios.c
|
|
|
|
nagios: nagios.o $(OBJS) $(OBJDEPS) libnagios
|
|
$(CC) $(CFLAGS) -o $@ $< $(OBJS) $(BROKER_LDFLAGS) $(LDFLAGS) $(MATHLIBS) $(SOCKETLIBS) $(BROKERLIBS) $(LIBS) $(SRC_LIB)/libnagios.a
|
|
|
|
nagiostats: nagiostats.c $(SRC_INCLUDE)/locations.h libnagios
|
|
$(CC) $(CFLAGS) -o $@ nagiostats.c $(LDFLAGS) $(MATHLIBS) $(LIBS) $(SRC_LIB)/libnagios.a
|
|
|
|
$(OBJS): $(SRC_INCLUDE)/locations.h
|
|
|
|
clean:
|
|
rm -f nagios nagiostats core *.o gmon.out
|
|
rm -f *~ *.*~
|
|
|
|
distclean: clean
|
|
rm -f perlxsi.c
|
|
rm -f Makefile
|
|
|
|
devclean: distclean
|
|
rm -f wpres-phash.h
|
|
|
|
install:
|
|
$(INSTALL) -m 775 $(INSTALL_OPTS) -d $(DESTDIR)$(BINDIR)
|
|
$(INSTALL) -s -m 774 $(INSTALL_OPTS) @nagios_name@ $(DESTDIR)$(BINDIR)
|
|
$(INSTALL) -s -m 774 $(INSTALL_OPTS) @nagiostats_name@ $(DESTDIR)$(BINDIR)
|
|
|
|
install-unstripped:
|
|
$(INSTALL) -m 775 $(INSTALL_OPTS) -d $(DESTDIR)$(BINDIR)
|
|
$(INSTALL) -m 774 $(INSTALL_OPTS) nagios $(DESTDIR)$(BINDIR)
|
|
$(INSTALL) -m 774 $(INSTALL_OPTS) nagiostats $(DESTDIR)$(BINDIR)
|
|
|
|
.PHONY: libnagios
|