$NetBSD$

--- client/Makefile.orig	2011-03-08 17:20:28.000000000 +0000
+++ client/Makefile
@@ -19,6 +19,22 @@ endif
 PROGRAMS=xymonlaunch logfetch clientupdate orcaxymon msgcache
 COMMONTOOLS=xymon xymoncmd xymongrep xymoncfg xymondigest
 
+ifndef INSTALLBINDIR
+INSTALLBINDIR = $(XYMONHOME)/bin
+endif
+ifndef INSTALLETCDIR
+INSTALLETCDIR = $(XYMONHOME)/etc
+endif
+ifndef INSTALLEXTDIR
+INSTALLEXTDIR = $(XYMONHOME)/ext
+endif
+ifndef INSTALLTMPDIR
+INSTALLTMPDIR = $(XYMONHOME)/tmp
+endif
+ifndef XYMONLOGDIR
+XYMONLOGDIR = $(XYMONHOME)/logs
+endif
+
 all: $(PROGRAMS) $(COMMONTOOLS) xymonclient.cfg clientlaunch.cfg $(EXTRATOOLS)
 
 xymonclient.cfg: xymonclient.cfg.DIST
@@ -58,26 +72,51 @@ netbsd-meminfo: netbsd-meminfo.c
 
 install:
 	if test ! -d $(INSTALLROOT)$(XYMONHOME)     ; then mkdir -p $(INSTALLROOT)$(XYMONHOME)     ; fi
-	if test ! -d $(INSTALLROOT)$(XYMONHOME)/bin ; then mkdir -p $(INSTALLROOT)$(XYMONHOME)/bin ; fi
-	if test ! -d $(INSTALLROOT)$(XYMONHOME)/etc ; then mkdir -p $(INSTALLROOT)$(XYMONHOME)/etc ; fi
-	if test ! -d $(INSTALLROOT)$(XYMONHOME)/tmp ; then mkdir -p $(INSTALLROOT)$(XYMONHOME)/tmp ; fi
-	if test ! -d $(INSTALLROOT)$(XYMONHOME)/logs; then mkdir -p $(INSTALLROOT)$(XYMONHOME)/logs; fi
-	if test ! -d $(INSTALLROOT)$(XYMONHOME)/ext ; then mkdir -p $(INSTALLROOT)$(XYMONHOME)/ext ; fi
-	if test ! -f $(INSTALLROOT)$(XYMONHOME)/etc/localclient.cfg ; then cp localclient.cfg $(INSTALLROOT)$(XYMONHOME)/etc/ ; fi
-	cp -fp runclient.sh $(INSTALLROOT)$(XYMONHOME)
-	cp -fp $(PROGRAMS) xymonclient*.sh $(COMMONTOOLS) $(EXTRATOOLS) $(INSTALLROOT)$(XYMONHOME)/bin/
-	chmod ugo+x $(INSTALLROOT)$(XYMONHOME)/bin/*
+	if test ! -d $(INSTALLROOT)$(INSTALLBINDIR) ; then mkdir -p $(INSTALLROOT)$(INSTALLBINDIR) ; fi
+ifndef PKGBUILD
+ifneq ($(INSTALLBINDIR),$(XYMONHOME)/bin)
+       ln -sf $(INSTALLBINDIR) $(INSTALLROOT)$(XYMONHOME)/bin
+endif
+endif
+	if test ! -d $(INSTALLROOT)$(INSTALLETCDIR) ; then mkdir -p $(INSTALLROOT)$(INSTALLETCDIR) ; fi
+ifndef PKGBUILD
+ifneq ($(INSTALLETCDIR),$(XYMONHOME)/etc)
+       ln -sf $(INSTALLETCDIR) $(INSTALLROOT)$(XYMONHOME)/etc
+endif
+endif
+	if test ! -d $(INSTALLROOT)$(INSTALLTMPDIR) ; then mkdir -p $(INSTALLROOT)$(INSTALLTMPDIR) ; fi
+ifndef PKGBUILD
+ifneq ($(INSTALLTMPDIR),$(XYMONHOME)/tmp)
+       ln -sf $(INSTALLTMPDIR) $(INSTALLROOT)$(XYMONHOME)/tmp
+endif
+endif
+	if test ! -d $(INSTALLROOT)$(XYMONLOGDIR); then mkdir -p $(INSTALLROOT)$(XYMONLOGDIR); fi
+ifndef PKGBUILD
+ifneq ($(BBLOGDIR),$(XYMONHOME)/logs)
+       ln -sf $(BBLOGDIR) $(INSTALLROOT)$(XYMONHOME)/logs
+endif
+endif
+	if test ! -d $(INSTALLROOT)$(INSTALLEXTDIR) ; then mkdir -p $(INSTALLROOT)$(INSTALLEXTDIR) ; fi
+ifndef PKGBUILD
+ifneq ($(INSTALLEXTDIR),$(XYMONHOME)/ext)
+       ln -sf $(INSTALLEXTDIR) $(INSTALLROOT)$(XYMONHOME)/ext
+endif
+endif
+	if test ! -f $(INSTALLROOT)$(INSTALLEXADIR)/localclient.cfg ; then cp localclient.cfg $(INSTALLROOT)$(INSTALLEXADIR)/ ; fi
+	cp -fp runclient.sh $(INSTALLROOT)$(INSTALLBINDIR)
+	cp -fp $(PROGRAMS) xymonclient*.sh $(COMMONTOOLS) $(EXTRATOOLS) $(INSTALLROOT)$(INSTALLBINDIR)/
+	chmod ugo+x $(INSTALLROOT)$(INSTALLBINDIR)/*
 
-	../build/merge-sects clientlaunch.cfg $(INSTALLROOT)$(XYMONHOME)/etc/clientlaunch.cfg
-	../build/merge-lines xymonclient.cfg $(INSTALLROOT)$(XYMONHOME)/etc/xymonclient.cfg
+	../build/merge-sects clientlaunch.cfg $(INSTALLROOT)$(INSTALLETCDIR)/clientlaunch.cfg
+	../build/merge-lines xymonclient.cfg $(INSTALLROOT)$(INSTALLETCDIR)/xymonclient.cfg
 ifndef PKGBUILD
-	chown -R $(XYMONUSER) $(INSTALLROOT)$(XYMONHOME)
+	chown -R $(XYMONUSER) $(INSTALLROOT)$(XYMONHOME) $(INSTALLROOT)$(INSTALLETCDIR) $(INSTALLROOT)$(INSTALLEXADIR) $(INSTALLROOT)$(INSTALLEXTDIR) $(INSTALLROOT)$(INSTALLBINDIR) $(INSTALLROOT)$(INSTALLTMPDIR) $(INSTALLROOT)$(XYMONLOGDIR)
 endif
 
 install-localclient:
-	cp -fp xymond_client $(INSTALLROOT)$(XYMONHOME)/bin/
+	cp -fp xymond_client $(INSTALLROOT)$(INSTALLBINDIR)/
 ifndef PKGBUILD
-	chown $(XYMONUSER) $(INSTALLROOT)$(XYMONHOME)/bin/xymond_client
+	chown $(XYMONUSER) $(INSTALLROOT)$(INSTALLBINDIR)/xymond_client
 endif
 
 clean:
