aboutsummaryrefslogtreecommitdiff
path: root/bind/Makefile
blob: 0fb676f242a841b73cc210e2bf721bf83741275c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#
# Copyright (C) 2009-2012 by Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.

# $Id: Makefile.bind,v 1.2.2.8 2012-04-05 22:17:08 sar Exp $

# Configure and build the bind libraries for use by DHCP

include ./version.tmp
version=${MAJORVER}.${MINORVER}.${PATCHVER}${RELEASETYPE}${RELEASEVER}

# bindvar.tmp is constructed by configure, it has the paths for
# if GMAKE is blank the shell script couldn't find a gmake to use.
# binddir=
# GMAKE=
include ./bindvar.tmp

bindsrcdir=bind-${version}

all:
# Extract the source from the tarball, if it hasn't been already.
	@if test -d ${bindsrcdir} ; then                    \
		echo ${bindsrcdir} already unpacked... ;    \
	else                                                \
		gunzip -c bind.tar.gz | tar xf - ;          \
	fi

	@if test -z "${GMAKE}"; then                        \
		echo "unable to find gmake" 1>&2 ;          \
		exit 1;                                     \
	fi

# Configure the export libraries
# Currently disable the epoll and devpoll options as they don't interact
# well with the DHCP code.
# If the top-level Bind Makefile exists we skip the configuration step
# as we assume it's done and won't change.  Doing a make clean will
# reset things if necessary.
	@if test -f ${bindsrcdir}/Makefile ; then                  \
		echo Bind export libraries already configured ;    \
	else                                                       \
		echo Configuring BIND Export libraries for DHCP. ; \
		rm -rf ./lib ./include ./configure.log ./build.log ./install.log ; \
		(cd ${bindsrcdir} && ./configure --disable-kqueue --disable-epoll --disable-devpoll --without-openssl --without-libxml2 --enable-exportlib --enable-threads=no --with-export-includedir=${binddir}/include --with-export-libdir=${binddir}/lib --with-gssapi=no > ${binddir}/configure.log); \
	fi

# Build and install the export libraries
# No need to do anything if we already have something installed.
	@if test -d ${binddir}/lib ; then                                    \
		echo Bind export libraries already installed ;               \
	else                                                                 \
		echo Building BIND Export libraries - this takes some time. ;\
		(cd ${bindsrcdir}/lib/export ;                               \
		  echo building in `pwd` ;                                   \
		  MAKE=${GMAKE} ${GMAKE} > ${binddir}/build.log) ;           \
                                                                             \
		echo Installing BIND Export libraries to ${binddir}. ;       \
		(cd ${bindsrcdir}/lib/export ;                               \
		  MAKE=${GMAKE} ${GMAKE} install > ${binddir}/install.log) ; \
	fi

clean:
	@echo Cleaning BIND export library.
	rm -rf ${bindsrcdir} ./lib ./include ./configure.log ./build.log \
		./install.log

# Include the following so that this Makefile is happy when the parent
# tries to use them.

distdir:

distclean:

install:

check:

uninstall: