1XYMONLIB = ../lib/libxymon.a 2XYMONLIBS = $(XYMONLIB) 3XYMONCOMMLIB = ../lib/libxymoncomm.a 4XYMONCOMMLIBS = $(XYMONCOMMLIB) $(SSLLIBS) $(NETLIBS) $(LIBRTDEF) 5XYMONTIMELIB = ../lib/libxymontime.a 6XYMONTIMELIBS = $(XYMONTIMELIB) $(LIBRTDEF) 7 8PROGRAMS = history.cgi eventlog.cgi report.cgi reportlog.cgi snapshot.cgi findhost.cgi csvinfo.cgi acknowledge.cgi xymonpage datepage.cgi svcstatus.cgi enadis.cgi confreport.cgi criticalview.cgi criticaleditor.cgi ackinfo.cgi statusreport.cgi boilerplate.cgi hostgraphs.cgi ghostlist.cgi notifications.cgi acknowledgements.cgi hostlist.cgi useradm.cgi chpasswd.cgi appfeed.cgi cgiwrap 9CGISCRIPTS = history.sh eventlog.sh report.sh reportlog.sh snapshot.sh findhost.sh csvinfo.sh columndoc.sh datepage.sh svcstatus.sh historylog.sh confreport.sh confreport-critical.sh criticalview.sh certreport.sh nongreen.sh hostgraphs.sh ghostlist.sh notifications.sh acknowledgements.sh hostlist.sh topchanges.sh appfeed.sh appfeed-critical.sh 10SECCGISCRIPTS = acknowledge.sh enadis.sh criticaleditor.sh ackinfo.sh useradm.sh chpasswd.sh 11 12ifeq ($(DORRD),yes) 13 PROGRAMS += showgraph.cgi perfdata.cgi 14 CGISCRIPTS += showgraph.sh perfdata.sh 15endif 16 17CGIWRAPOBJS = cgiwrap.o 18HISTOBJS = history.o 19EVENTLOGOBJS = eventlog.o 20REPOBJS = report.o 21REPLOGOBJS = reportlog.o 22SNAPOBJS = snapshot.o 23FINDHOSTOBJS = findhost.o 24CSVINFOOBJS = csvinfo.o 25ACKCGIOBJS = acknowledge.o 26WEBPAGEOBJS = xymonpage.o 27DATEPAGEOBJS = datepage.o 28APPFEEDOBJS = appfeed.o 29 30SHOWGRAPHOBJS = showgraph.o 31SVCSTATUSOBJS = svcstatus.o svcstatus-info.o svcstatus-trends.o 32ENADISOBJS = enadis.o 33CRITVIEWOBJS = criticalview.o 34CRITEDITOBJS = criticaleditor.o 35ACKINFOOBJS = ackinfo.o 36CONFREPOBJS = confreport.o 37STATUSREPOBJS = statusreport.o 38MAILACKOBJS = xymon-mailack.o 39GHOSTOBJS = ghostlist.o 40NOTIFYOBJS = notifications.o 41ACKNOWLEDGEOBJS = acknowledgements.o 42HOSTLISTOBJS = hostlist.o 43PERFDATAOBJS = perfdata.o 44USERADMOBJS = useradm.o 45CHPASSWDOBJS = chpasswd.o 46 47HOSTGRAPHSOBJS = hostgraphs.o 48BOILERPLATEOBJS = boilerplate.o 49 50 51IDTOOL := $(shell if test `uname -s` = "SunOS"; then echo /usr/xpg4/bin/id; else echo id; fi) 52 53 54all: $(PROGRAMS) 55 56cgiwrap.o: cgiwrap.c 57 $(CC) $(CFLAGS) -DXYMONHOME=\"$(XYMONHOME)\" -c -o $@ $< 58 59cgiwrap: $(CGIWRAPOBJS) $(XYMONCOMMLIB) 60 $(CC) $(CFLAGS) -o $@ $(CGIWRAPOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 61 62history.cgi: $(HISTOBJS) $(XYMONCOMMLIB) 63 $(CC) $(CFLAGS) -o $@ $(HISTOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 64 65eventlog.cgi: $(EVENTLOGOBJS) $(XYMONCOMMLIB) 66 $(CC) $(CFLAGS) -o $@ $(EVENTLOGOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 67 68report.cgi: $(REPOBJS) $(XYMONCOMMLIB) 69 $(CC) $(CFLAGS) -o $@ $(REPOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 70 71reportlog.cgi: $(REPLOGOBJS) $(XYMONCOMMLIB) 72 $(CC) $(CFLAGS) -o $@ $(REPLOGOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 73 74snapshot.cgi: $(SNAPOBJS) $(XYMONCOMMLIB) 75 $(CC) $(CFLAGS) -o $@ $(SNAPOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 76 77findhost.cgi: $(FINDHOSTOBJS) $(XYMONCOMMLIB) 78 $(CC) $(CFLAGS) -o $@ $(FINDHOSTOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 79 80csvinfo.cgi: $(CSVINFOOBJS) $(XYMONCOMMLIB) 81 $(CC) $(CFLAGS) -o $@ $(CSVINFOOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 82 83acknowledge.cgi: $(ACKCGIOBJS) $(XYMONCOMMLIB) 84 $(CC) $(CFLAGS) -o $@ $(ACKCGIOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 85 86xymonpage: $(WEBPAGEOBJS) $(XYMONCOMMLIB) 87 $(CC) $(CFLAGS) -o $@ $(WEBPAGEOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 88 89datepage.cgi: $(DATEPAGEOBJS) $(XYMONCOMMLIB) 90 $(CC) $(CFLAGS) -o $@ $(DATEPAGEOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 91 92showgraph.o: showgraph.c 93 $(CC) $(CFLAGS) $(PCREINCDIR) $(RRDDEF) $(RRDINCDIR) -c -o $@ $< 94 95# Need NETLIBS on Solaris for getservbyname(), called by parse_url() 96showgraph.cgi: $(SHOWGRAPHOBJS) $(XYMONCOMMLIB) 97 $(CC) $(CFLAGS) -o $@ $(RPATHOPT) $(SHOWGRAPHOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) $(RRDLIBS) 98 99svcstatus.cgi: $(SVCSTATUSOBJS) $(XYMONCOMMLIB) 100 $(CC) $(CFLAGS) -o $@ $(SVCSTATUSOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 101 102enadis.cgi: $(ENADISOBJS) $(XYMONCOMMLIB) 103 $(CC) $(CFLAGS) -o $@ $(ENADISOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 104 105statusreport.cgi: $(STATUSREPOBJS) $(XYMONCOMMLIB) 106 $(CC) $(CFLAGS) -o $@ $(STATUSREPOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 107 108confreport.cgi: $(CONFREPOBJS) $(XYMONCOMMLIB) 109 $(CC) $(CFLAGS) -o $@ $(CONFREPOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 110 111criticalview.cgi: $(CRITVIEWOBJS) $(XYMONCOMMLIB) 112 $(CC) $(CFLAGS) -o $@ $(RPATHOPT) $(CRITVIEWOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 113 114criticalview.o: criticalview.c 115 $(CC) $(CFLAGS) $(PCREINCDIR) -c -o $@ $< 116 117criticaleditor.cgi: $(CRITEDITOBJS) $(XYMONCOMMLIB) 118 $(CC) $(CFLAGS) -o $@ $(RPATHOPT) $(CRITEDITOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 119 120ackinfo.cgi: $(ACKINFOOBJS) $(XYMONCOMMLIB) 121 $(CC) $(CFLAGS) -o $@ $(RPATHOPT) $(ACKINFOOBJS) $(XYMONCOMMLIBS) 122 123boilerplate.cgi: $(BOILERPLATEOBJS) $(XYMONCOMMLIB) 124 $(CC) $(CFLAGS) -o $@ $(RPATHOPT) $(BOILERPLATEOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 125 126hostgraphs.cgi: $(HOSTGRAPHSOBJS) $(XYMONCOMMLIB) 127 $(CC) $(CFLAGS) -o $@ $(RPATHOPT) $(HOSTGRAPHSOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 128 129ghostlist.cgi: $(GHOSTOBJS) $(XYMONCOMMLIB) 130 $(CC) $(CFLAGS) -o $@ $(RPATHOPT) $(GHOSTOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 131 132notifications.cgi: $(NOTIFYOBJS) $(XYMONCOMMLIB) 133 $(CC) $(CFLAGS) -o $@ $(RPATHOPT) $(NOTIFYOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 134 135acknowledgements.cgi: $(ACKNOWLEDGEOBJS) $(XYMONCOMMLIB) 136 $(CC) $(CFLAGS) -o $@ $(RPATHOPT) $(ACKNOWLEDGEOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 137 138hostlist.cgi: $(HOSTLISTOBJS) $(XYMONCOMMLIB) 139 $(CC) $(CFLAGS) -o $@ $(RPATHOPT) $(HOSTLISTOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 140 141perfdata.o: perfdata.c 142 $(CC) $(CFLAGS) $(PCREINCDIR) $(RRDDEF) $(RRDINCDIR) -c -o $@ $< 143 144# Need -lm on perfdata because it refers to isnan() 145perfdata.cgi: $(PERFDATAOBJS) $(XYMONCOMMLIB) 146 $(CC) $(CFLAGS) -o $@ $(RPATHOPT) $(PERFDATAOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) $(RRDLIBS) -lm 147 148useradm.cgi: $(USERADMOBJS) $(XYMONCOMMLIB) 149 $(CC) $(CFLAGS) -o $@ $(RPATHOPT) $(USERADMOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 150 151chpasswd.cgi: $(CHPASSWDOBJS) $(XYMONCOMMLIB) 152 $(CC) $(CFLAGS) -o $@ $(RPATHOPT) $(CHPASSWDOBJS) $(XYMONCOMMLIBS) $(PCRELIBS) 153 154appfeed.cgi: $(APPFEEDOBJS) $(XYMONLIB) 155 $(CC) $(CFLAGS) -o $@ $(RPATHOPT) $(APPFEEDOBJS) $(XYMONCOMMLIBS) $(XYMONLIBS) $(PCRELIBS) 156 157 158%.o: %.c 159 $(CC) $(CFLAGS) -c -o $@ $< 160 161 162clean: 163 rm -f $(PROGRAMS) *.o *~ 164 165install: install-bin install-cgi install-man 166 167install-bin: 168ifndef PKGBUILD 169 chown $(XYMONUSER) $(PROGRAMS) 170 chgrp `$(IDTOOL) -g $(XYMONUSER)` $(PROGRAMS) 171 chmod 755 $(PROGRAMS) 172endif 173 cp -fp $(PROGRAMS) $(INSTALLROOT)$(INSTALLBINDIR)/ 174 175install-cgi: 176 mkdir -p $(INSTALLROOT)$(CGIDIR) 177 mkdir -p $(INSTALLROOT)$(SECURECGIDIR) 178ifndef PKGBUILD 179 for F in $(CGISCRIPTS); do ln -f $(INSTALLROOT)$(INSTALLBINDIR)/cgiwrap $(INSTALLROOT)$(CGIDIR)/$$F; done 180 for F in $(SECCGISCRIPTS); do ln -f $(INSTALLROOT)$(INSTALLBINDIR)/cgiwrap $(INSTALLROOT)$(SECURECGIDIR)/$$F; done 181else 182 for F in $(CGISCRIPTS); do ln -f $(INSTALLROOT)$(INSTALLBINDIR)/cgiwrap $(INSTALLROOT)$(CGIDIR)/$$F; done 183 for F in $(SECCGISCRIPTS); do ln -f $(INSTALLROOT)$(INSTALLBINDIR)/cgiwrap $(INSTALLROOT)$(SECURECGIDIR)/$$F; done 184endif 185 186install-man: 187ifndef PKGBUILD 188 chown $(XYMONUSER) *.1 *.5 *.8 189 chgrp `$(IDTOOL) -g $(XYMONUSER)` *.1 *.5 *.8 190 chmod 644 *.1 *.5 *.8 191endif 192 mkdir -p $(INSTALLROOT)$(MANROOT)/man1 $(INSTALLROOT)$(MANROOT)/man5 $(INSTALLROOT)$(MANROOT)/man8 193ifndef PKGBUILD 194 chown $(XYMONUSER) $(INSTALLROOT)$(MANROOT)/man1 $(INSTALLROOT)$(MANROOT)/man5 $(INSTALLROOT)$(MANROOT)/man8 195 chgrp `$(IDTOOL) -g $(XYMONUSER)` $(INSTALLROOT)$(MANROOT)/man1 $(INSTALLROOT)$(MANROOT)/man5 $(INSTALLROOT)$(MANROOT)/man8 196 chmod 755 $(INSTALLROOT)$(MANROOT)/man1 $(INSTALLROOT)$(MANROOT)/man5 $(INSTALLROOT)$(MANROOT)/man8 197endif 198 cp -fp *.1 $(INSTALLROOT)$(MANROOT)/man1/ 199 cp -fp *.5 $(INSTALLROOT)$(MANROOT)/man5/ 200 cp -fp *.8 $(INSTALLROOT)$(MANROOT)/man8/ 201 202