1DESTDIR = 2 3PREFIX = /local/netmagis 4 5# Debian repository path 6REPODIR = /local/repo 7 8# Standard OS directories 9BINDIR = $(PREFIX)/bin 10SBINDIR = $(PREFIX)/sbin 11ETCDIR = $(PREFIX)/etc 12MANDIR = $(PREFIX)/man 13RCDIR = $(PREFIX)/etc/rc.d 14CAFILE = /usr/local/share/certs/ca-root-nss.crt 15 16# Netmagis specific directories 17NMDOCDIR = $(PREFIX)/share/doc/netmagis 18NMXMPDIR = $(PREFIX)/share/examples/netmagis 19NMLIBDIR = $(PREFIX)/lib/netmagis 20NMVARDIR = /var/netmagis 21NMCGIDIR = $(PREFIX)/www/netmagis 22NMWSDIR = $(PREFIX)/www/metro 23 24TCLSH = /usr/local/bin/tclsh 25NINSTALL = ./ninstall 26SUBST = $(TCLSH) \ 27 $(NMLIBDIR)/libnetmagis.tcl \ 28 $(ETCDIR)/netmagis.conf \ 29 $(BINDIR)/netmagis-config 30 31DIRS = \ 32 BINDIR=$(BINDIR) \ 33 SBINDIR=$(SBINDIR) \ 34 ETCDIR=$(ETCDIR) \ 35 MANDIR=$(MANDIR) \ 36 RCDIR=$(RCDIR) \ 37 CAFILE=$(CAFILE) \ 38 NMDOCDIR=$(NMDOCDIR) \ 39 NMXMPDIR=$(NMXMPDIR) \ 40 NMLIBDIR=$(NMLIBDIR) \ 41 NMVARDIR=$(NMVARDIR) \ 42 NMCGIDIR=$(NMCGIDIR) \ 43 NMWSDIR=$(NMWSDIR) \ 44 DESTDIR=$(DESTDIR) 45 46# for www/htg/src 47TCLCONF = /usr/local/lib/tcl8.6/tclConfig.sh 48TCLCFLAGS = `(cat $(TCLCONF) ; echo 'echo "$$TCL_INCLUDE_SPEC"')|sh` 49TCLLFLAGS = `(cat $(TCLCONF) ; echo 'echo "$$TCL_LIB_SPEC $$TCL_LIBS"')|sh` 50 51# for packaging and libnetmagis.tcl 52VERSION = 2.3.4 53 54# build debian package for the following architectures 55DEBIAN_PKG_ARCH = i386 56# default debian distribution 57DEBIAN_DISTRIB = dev 58 59usage: 60 @echo "available targets:" 61 @echo " build" 62 @echo " build-topo" 63 @echo " build-www" 64 @echo " install" 65 @echo " install-common" 66 @echo " install-database" 67 @echo " install-servers" 68 @echo " install-www" 69 @echo " install-utils" 70 @echo " install-detecteq" 71 @echo " install-topo" 72 @echo " install-metro" 73 @echo " install-netmagis.org" 74 @echo " install-devtools" 75 @echo " distrib" 76 @echo " freebsd-ports" 77 @echo " debian-packages" 78 @echo " debian-packages-other-arch" 79 @echo " debian-repo" 80 @echo " (with optional variable DEBIAN_DISTRIB=stable)" 81 @echo " clean" 82 @echo " nothing" 83 84build: build-www build-topo 85 86build-www: 87 $(MAKE) -C www $(DIRS) SUBST="$(SUBST)" TCLSH=$(TCLSH) \ 88 TCLCFLAGS="$(TCLCFLAGS)" TCLLFLAGS="$(TCLLFLAGS)" build 89 90build-topo: 91 $(MAKE) -C topo build 92 93install: install-common install-database install-servers install-utils \ 94 install-detecteq install-topo install-metro install-www 95 96install-common: 97 cd common ; \ 98 make $(DIRS) SUBST="$(SUBST)" TCLSH=$(TCLSH) VERSION=$(VERSION) install 99 100install-database: 101 $(MAKE) -C database $(DIRS) SUBST="$(SUBST)" TCLSH=$(TCLSH) install 102 103install-servers: 104 $(MAKE) -C servers $(DIRS) SUBST="$(SUBST)" TCLSH=$(TCLSH) install 105 106install-www: build-www 107 $(MAKE) -C www $(DIRS) SUBST="$(SUBST)" TCLSH=$(TCLSH) \ 108 TCLCFLAGS="$(TCLCFLAGS)" TCLLFLAGS="$(TCLLFLAGS)" install 109 110install-utils: 111 $(MAKE) -C utils $(DIRS) SUBST="$(SUBST)" TCLSH=$(TCLSH) install 112 113install-topo: build-topo 114 $(MAKE) -C topo $(DIRS) SUBST="$(SUBST)" TCLSH=$(TCLSH) install 115 116install-detecteq: 117 $(MAKE) -C detecteq $(DIRS) SUBST="$(SUBST)" TCLSH=$(TCLSH) install 118 119install-metro: 120 $(MAKE) -C metro $(DIRS) SUBST="$(SUBST)" TCLSH=$(TCLSH) install 121 122install-netmagis.org: build-www 123 $(MAKE) -C doc/netmagis.org $(DIRS) SUBST="$(SUBST)" TCLSH=$(TCLSH) install 124 125install-devtools: 126 $(MAKE) -C devtools $(DIRS) SUBST="$(SUBST)" TCLSH=$(TCLSH) install 127 128distrib: clean 129 rm -rf /tmp/netmagis-$(VERSION) 130 mkdir /tmp/netmagis-$(VERSION) 131 tar cf - --exclude "pkg/*" \ 132 --exclude "doc/jres/*" \ 133 --exclude "doc/pres/*" \ 134 --exclude "doc/old/*" \ 135 --exclude "doc/netmagis.org" \ 136 * \ 137 | tar xf - -C /tmp/netmagis-$(VERSION) 138 tar -czf netmagis-$(VERSION).tar.gz -C /tmp netmagis-$(VERSION) 139 rm -rf /tmp/netmagis-$(VERSION) 140 141freebsd-ports: 142 @if [ `uname -s` != FreeBSD ] ; then \ 143 echo "Please, make this target on a FreeBSD host" ; \ 144 echo "once netmagis-$(VERSION).tar.gz is on the master site" ; \ 145 exit 1 ; \ 146 fi 147 for i in pkg/freebsd/netmagis-* ; do ($(MAKE) -C $$i clean) ; done 148 $(MAKE) -C pkg/freebsd/netmagis-common makesum 149 tar -czf netmagis-freebsd-ports-$(VERSION).tar.gz -C pkg/freebsd . 150 151debian-packages: 152 @if [ `uname -s` != Linux ] ; then \ 153 echo "Please, make this target on a Debian/Ubuntu host" ; \ 154 echo "once netmagis-$(VERSION).tar.gz is on the master site" ; \ 155 exit 1 ; \ 156 fi 157 $(MAKE) -C pkg/debian VERSION=$(VERSION) release 158 159debian-packages-other-arch: 160 cd pkg/debian ; \ 161 for arch in $(DEBIAN_PKG_ARCH) ; do \ 162 make VERSION=$(VERSION) ARCH=$$arch release-arch ; \ 163 done 164 165debian-repo: 166 pkg/debian/update-repo $(VERSION) pkg/debian $(DEBIAN_DISTRIB) $(REPODIR) 167 168clean: 169 $(MAKE) -C common clean 170 $(MAKE) -C database clean 171 $(MAKE) -C servers clean 172 $(MAKE) -C www clean 173 $(MAKE) -C utils clean 174 $(MAKE) -C detecteq clean 175 $(MAKE) -C topo clean 176 $(MAKE) -C metro clean 177 rm -f netmagis-*.tar.gz 178 179nothing: 180