############################ # Makefile for Nagios # # Last Modified: 12-05-2008 ############################ # Source code directories SRC_COMMON=../common SRC_INCLUDE=../include SRC_XDATA=../xdata CC=@CC@ CFLAGS=-Wall @CFLAGS@ @DEFS@ -DNSCORE # Compiler flags for use with gprof #CFLAGS=-pg -DHAVE_CONFIG_H -DNSCORE # Compiler flags for use with Valgrind #CFLAGS=-O0 -g -DHAVE_CONFIG_H -DNSCORE # Compiler flags for optimization (overrides default) #CFLAGS=-O3 -Wall -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=@sbindir@ HTMLDIR=@datarootdir@ INSTALL=@INSTALL@ INSTALL_OPTS=@INSTALL_OPTS@ COMMAND_OPTS=@COMMAND_OPTS@ STRIP=@STRIP@ CGIURL=@cgiurl@ HTMURL=@htmurl@ MATHLIBS=-lm PERLLIBS=@PERLLIBS@ PERLXSI_O=@PERLXSI_O@ SOCKETLIBS=@SOCKETLIBS@ THREADLIBS=@THREADLIBS@ BROKERLIBS=@BROKERLIBS@ BROKER_LDFLAGS=@BROKER_LDFLAGS@ CP=@CP@ # External data I/O code and headers XSDC=@XSDC@ XSDH=@XSDH@ XCDC=@XCDC@ XCDH=@XCDH@ XRDC=@XRDC@ XRDH=@XRDH@ XODC=@XODC@ XODH=@XODH@ XPDC=@XPDC@ XPDH=@XPDH@ XDDC=@XDDC@ XDDH=@XDDH@ # Extra base code BASEEXTRALIBS=@BASEEXTRALIBS@ # Generated automatically from configure script SNPRINTF_O=@SNPRINTF_O@ BROKER_O=@BROKER_O@ BROKER_H=@BROKER_H@ # Object data #ODATALIBS=$(SRC_COMMON)/objects.c $(SRC_XDATA)/$(XODC) #ODATAHDRS=$(SRC_INCLUDE)/objects.h $(SRC_XDATA)/$(XODH) ODATALIBS=objects-base.o xobjects-base.o ODATAHDRS= ODATADEPS=$(ODATALIBS) # Retention data #RDATALIBS=sretention.o $(SRC_XDATA)/$(XRDC) #RDATAHDRS=$(SRC_INCLUDE)/sretention.h $(SRC_XDATA)/$(XRDH) RDATALIBS=retention-base.o xretention-base.o RDATAHDRS= RDATADEPS=$(RDATALIBS) # Comment data #CDATALIBS=$(SRC_COMMON)/comments.c $(SRC_XDATA)/$(XCDC) #CDATAHDRS=$(SRC_INCLUDE)/comments.h $(SRC_XDATA)/$(XCDH) CDATALIBS=comments-base.o xcomments-base.o CDATAHDRS= CDATADEPS=$(CDATALIBS) # Status data #SDATALIBS=$(SRC_COMMON)/statusdata.c $(SRC_XDATA)/$(XSDC) #SDATAHDRS=$(SRC_INCLUDE)/statusdata.h $(SRC_XDATA)/$(XSDH) SDATALIBS=statusdata-base.o xstatusdata-base.o SDATAHDRS= SDATADEPS=$(SDATALIBS) # Performance data #PDATALIBS=perfdata.o $(SRC_XDATA)/$(XPDC) #PDATAHDRS=$(SRC_INCLUDE)/perfdata.h $(SRC_XDATA)/$(XPDH) PDATALIBS=perfdata-base.o xperfdata-base.o PDATAHDRS= PDATADEPS=$(PDATALIBS) # Downtime data #DDATALIBS=$(SRC_COMMON)/downtime.c $(SRC_XDATA)/$(XDDC) #DDATAHDRS=$(SRC_INCLUDE)/downtime.h $(SRC_XDATA)/$(XDDH) DDATALIBS=downtime-base.o xdowntime-base.o DDATAHDRS= DDATADEPS=$(DDATALIBS) OBJS=$(BROKER_O) $(SRC_COMMON)/shared.o checks.o config.o commands.o events.o flapping.o logging.o macros-base.o netutils.o notifications.o sehandlers.o skiplist.o utils.o $(RDATALIBS) $(CDATALIBS) $(ODATALIBS) $(SDATALIBS) $(PDATALIBS) $(DDATALIBS) $(BASEEXTRALIBS) $(SNPRINTF_O) $(PERLXSI_O) 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 skiplist.o: $(SRC_COMMON)/skiplist.c $(SRC_INCLUDE)/skiplist.h $(CC) $(CFLAGS) -c -o $@ $(SRC_COMMON)/skiplist.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)/$(XODC) $(SRC_XDATA)/$(XODH) $(CC) $(CFLAGS) -c -o $@ $(SRC_XDATA)/$(XODC) statusdata-base.o: $(SRC_COMMON)/statusdata.c $(SRC_INCLUDE)/statusdata.h $(CC) $(CFLAGS) -c -o $@ $(SRC_COMMON)/statusdata.c xstatusdata-base.o: $(SRC_XDATA)/$(XSDC) $(SRC_XDATA)/$(XSDH) $(CC) $(CFLAGS) -c -o $@ $(SRC_XDATA)/$(XSDC) comments-base.o: $(SRC_COMMON)/comments.c $(SRC_INCLUDE)/comments.h $(CC) $(CFLAGS) -c -o $@ $(SRC_COMMON)/comments.c xcomments-base.o: $(SRC_XDATA)/$(XCDC) $(SRC_XDATA)/$(XCDH) $(CC) $(CFLAGS) -c -o $@ $(SRC_XDATA)/$(XCDC) downtime-base.o: $(SRC_COMMON)/downtime.c $(SRC_INCLUDE)/downtime.h $(CC) $(CFLAGS) -c -o $@ $(SRC_COMMON)/downtime.c xdowntime-base.o: $(SRC_XDATA)/$(XDDC) $(SRC_XDATA)/$(XDDH) $(CC) $(CFLAGS) -c -o $@ $(SRC_XDATA)/$(XDDC) perfdata-base.o: perfdata.c $(SRC_INCLUDE)/perfdata.h $(CC) $(CFLAGS) -c -o $@ perfdata.c xperfdata-base.o: $(SRC_XDATA)/$(XPDC) $(SRC_XDATA)/$(XPDH) $(CC) $(CFLAGS) -c -o $@ $(SRC_XDATA)/$(XPDC) retention-base.o: sretention.c $(SRC_INCLUDE)/sretention.h $(CC) $(CFLAGS) -c -o $@ sretention.c xretention-base.o: $(SRC_XDATA)/$(XRDC) $(SRC_XDATA)/$(XRDH) $(CC) $(CFLAGS) -c -o $@ $(SRC_XDATA)/$(XRDC) $(SRC_COMMON)/shared.o: $(SRC_COMMON)/shared.c $(CC) $(CFLAGS) -c -o $@ $< ########## NAGIOS ########## nagios: nagios.c $(OBJS) $(OBJDEPS) $(SRC_INCLUDE)/nagios.h $(SRC_INCLUDE)/locations.h $(CC) $(CFLAGS) -o $@ nagios.c $(OBJS) $(BROKER_LDFLAGS) $(LDFLAGS) $(PERLLIBS) $(MATHLIBS) $(SOCKETLIBS) $(THREADLIBS) $(BROKERLIBS) $(LIBS) nagiostats: nagiostats.c $(SRC_INCLUDE)/locations.h $(CC) $(CFLAGS) -o $@ nagiostats.c $(LDFLAGS) $(MATHLIBS) $(LIBS) $(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 install: $(MAKE) install-basic $(MAKE) strip-post-install install-unstripped: $(MAKE) install-basic install-basic: $(INSTALL) -m 775 $(INSTALL_OPTS) -d $(DESTDIR)$(BINDIR) $(INSTALL) -m 774 $(INSTALL_OPTS) @nagios_name@ $(DESTDIR)$(BINDIR) $(INSTALL) -m 774 $(INSTALL_OPTS) @nagiostats_name@ $(DESTDIR)$(BINDIR) strip-post-install: $(STRIP) $(DESTDIR)$(BINDIR)/@nagios_name@ $(STRIP) $(DESTDIR)$(BINDIR)/@nagiostats_name@