# Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2001, 2002 Internet Software Consortium. # # 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.in,v 1.22 2009/02/12 23:47:56 tbox Exp $ srcdir = . top_srcdir = ../.. # Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 1998-2003 Internet Software Consortium. # # 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: rules.in,v 1.68 2009/09/01 18:40:25 jinmei Exp $ ### ### Common Makefile rules for BIND 9. ### ### ### Paths ### ### Note: paths that vary by Makefile MUST NOT be listed ### here, or they won't get expanded correctly. prefix = /usr exec_prefix = /usr bindir = /usr/bin sbindir = /usr/sbin includedir = /usr/include libdir = /usr/lib sysconfdir = /etc localstatedir = /var mandir = /usr/share/man datarootdir = ${prefix}/share export_libdir = ${exec_prefix}/lib/bind9/ export_includedir = ${prefix}/include/bind9/ DESTDIR = top_builddir = /builddir/build/BUILD/bind-9.7.0-P1 ### ### All ### ### Makefile may define: ### TARGETS all: subdirs ${TARGETS} ### ### Subdirectories ### ### Makefile may define: ### SUBDIRS ALL_SUBDIRS = ${SUBDIRS} nulldir # # We use a single-colon rule so that additional dependencies of # subdirectories can be specified after the inclusion of this file. # The "depend" target is treated the same way. # subdirs: @for i in ${ALL_SUBDIRS}; do \ if [ "$$i" != "nulldir" -a -d $$i ]; then \ echo "making all in `pwd`/$$i"; \ (cd $$i; ${MAKE} ${MAKEDEFS} DESTDIR="${DESTDIR}" all) || exit 1; \ fi; \ done install:: all install clean distclean maintainer-clean doc docclean man manclean:: @for i in ${ALL_SUBDIRS}; do \ if [ "$$i" != "nulldir" -a -d $$i ]; then \ echo "making $@ in `pwd`/$$i"; \ (cd $$i; ${MAKE} ${MAKEDEFS} DESTDIR="${DESTDIR}" $@) || exit 1; \ fi; \ done ### ### C Programs ### ### Makefile must define ### CC ### Makefile may define ### CFLAGS ### LDFLAGS ### CINCLUDES ### CDEFINES ### CWARNINGS ### User may define externally ### EXT_CFLAGS CC = gcc CFLAGS = -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -I/usr/include/libxml2 LDFLAGS = STD_CINCLUDES = STD_CDEFINES = -DDIG_SIGCHASE -D_GNU_SOURCE STD_CWARNINGS = -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith -fno-strict-aliasing BUILD_CC = gcc BUILD_CFLAGS = -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -I/usr/include/libxml2 BUILD_CPPFLAGS = -DDIG_SIGCHASE -D_GNU_SOURCE BUILD_LDFLAGS = BUILD_LIBS = -lcap -lpthread -lxml2 -lz -lm .SUFFIXES: .SUFFIXES: .c .lo ALWAYS_INCLUDES = -I${top_builddir} ALWAYS_DEFINES = -D_REENTRANT ALWAYS_WARNINGS = ALL_CPPFLAGS = \ ${ALWAYS_INCLUDES} ${CINCLUDES} ${STD_CINCLUDES} \ ${ALWAYS_DEFINES} ${CDEFINES} ${STD_CDEFINES} ALL_CFLAGS = ${EXT_CFLAGS} ${ALL_CPPFLAGS} ${CFLAGS} \ ${ALWAYS_WARNINGS} ${STD_CWARNINGS} ${CWARNINGS} .c.lo: ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -c $< SHELL = /bin/sh LIBTOOL = $(SHELL) $(top_builddir)/libtool LIBTOOL_MODE_COMPILE = ${LIBTOOL} --mode=compile LIBTOOL_MODE_INSTALL = ${LIBTOOL} --mode=install LIBTOOL_MODE_LINK = ${LIBTOOL} --mode=link PURIFY = MKDEP = ${SHELL} ${top_builddir}/make/mkdep ### ### This is a template compound command to build an executable binary with ### an internal symbol table. ### This process is tricky. We first link all objects including a tentative ### empty symbol table, then get a tentative list of symbols from the resulting ### binary ($@tmp0). Next, we re-link all objects, but this time with the ### symbol table just created ($tmp@1). The set of symbols should be the same, ### but the corresponding addresses would be changed due to the difference on ### the size of symbol tables. So we create the symbol table and re-create the ### objects once again. Finally, we check the symbol table embedded in the ### final binaryis consistent with the binary itself; otherwise the process is ### terminated. ### ### To minimize the overhead of creating symbol tables, the autoconf switch ### --enable-symtable takes an argument so that the symbol table can be created ### on a per application basis: unless the argument is set to "all", the symbol ### table is created only when a shell (environment) variable "MAKE_SYMTABLE" is ### set to a non-null value in the rule to build the executable binary. ### ### Each Makefile.in that uses this macro is expected to define "LIBS" and ### "NOSYMLIBS"; the former includes libisc with an empty symbol table, and ### the latter includes libisc without the definition of a symbol table. ### The rule to make the executable binary will look like this ### binary: ${OBJS} ### #export MAKE_SYMTABLE="yes"; \ <- enable if symtable is always needed ### export BASEOBJS="${OBJS}"; \ ### ${FINALBUILDCMD} ### ### Normally, ${LIBS} includes all necessary libraries to build the binary; ### there are some exceptions however, where the rule lists some of the ### necessary libraries explicitly in addition to (or instead of) ${LIBS}, ### like this: ### binary: ${OBJS} ### cc -o $@ ${OBJS} ${OTHERLIB1} ${OTHERLIB2} ${lIBS} ### in order to modify such a rule to use this compound command, a separate ### variable "LIBS0" should be deinfed for the explicitly listed libraries, ### while making sure ${LIBS} still includes libisc. So the above rule would ### be modified as follows: ### binary: ${OBJS} ### export BASEOBJS="${OBJS}"; \ ### export LIBS0="${OTHERLIB1} ${OTHERLIB2}"; \ ### ${FINALBUILDCMD} ### See bin/check/Makefile.in for a complete example of the use of LIBS0. ### FINALBUILDCMD = if [ X"${MKSYMTBL_PROGRAM}" = X -o X"$${MAKE_SYMTABLE:-${ALWAYS_MAKE_SYMTABLE}}" = X ] ; then \ ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} \ -o $@ $${BASEOBJS} $${LIBS0} ${LIBS}; \ else \ rm -f $@tmp0; \ ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} \ -o $@tmp0 $${BASEOBJS} $${LIBS0} ${LIBS} || exit 1; \ rm -f $@-symtbl.c $@-symtbl.lo; \ ${MKSYMTBL_PROGRAM} ${top_srcdir}/util/mksymtbl.pl \ -o $@-symtbl.c $@tmp0 || exit 1; \ $(MAKE) $@-symtbl.lo || exit 1; \ rm -f $@tmp1; \ ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} \ -o $@tmp1 $${BASEOBJS} $@-symtbl.lo $${LIBS0} ${NOSYMLIBS} || exit 1; \ rm -f $@-symtbl.c $@-symtbl.lo; \ ${MKSYMTBL_PROGRAM} ${top_srcdir}/util/mksymtbl.pl \ -o $@-symtbl.c $@tmp1 || exit 1; \ $(MAKE) $@-symtbl.lo || exit 1; \ ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} \ -o $@tmp2 $${BASEOBJS} $@-symtbl.lo $${LIBS0} ${NOSYMLIBS}; \ ${MKSYMTBL_PROGRAM} ${top_srcdir}/util/mksymtbl.pl \ -o $@-symtbl2.c $@tmp2; \ diff $@-symtbl.c $@-symtbl2.c || exit 1;\ mv $@tmp2 $@; \ rm -f $@tmp0 $@tmp1 $@tmp2 $@-symtbl2.c; \ fi cleandir: distclean superclean: maintainer-clean clean distclean maintainer-clean:: rm -f *.lo *.o *.lo *.la core *.core *-symtbl.c *tmp0 *tmp1 *tmp2 rm -rf .depend .libs distclean maintainer-clean:: rm -f Makefile depend: @for i in ${ALL_SUBDIRS}; do \ if [ "$$i" != "nulldir" -a -d $$i ]; then \ echo "making depend in `pwd`/$$i"; \ (cd $$i; ${MAKE} ${MAKEDEFS} DESTDIR="${DESTDIR}" $@) || exit 1; \ fi; \ done @if [ X"${VPATH}" != X ] ; then \ if [ X"${SRCS}" != X -a X"${PSRCS}" != X ] ; then \ echo ${MKDEP} -vpath ${VPATH} ${ALL_CPPFLAGS} ${ALL_CFLAGS} ${SRCS}; \ ${MKDEP} -vpath ${VPATH} ${ALL_CPPFLAGS} ${ALL_CFLAGS} ${SRCS}; \ echo ${MKDEP} -vpath ${VPATH} -ap ${ALL_CPPFLAGS} ${ALL_CFLAGS} ${PSRCS}; \ ${MKDEP} -vpath ${VPATH} -ap ${ALL_CPPFLAGS} ${ALL_CFLAGS} ${PSRCS}; \ ${DEPENDEXTRA} \ elif [ X"${SRCS}" != X ] ; then \ echo ${MKDEP} -vpath ${VPATH} ${ALL_CPPFLAGS} ${ALL_CFLAGS} ${SRCS}; \ ${MKDEP} -vpath ${VPATH} ${ALL_CPPFLAGS} ${ALL_CFLAGS} ${SRCS}; \ ${DEPENDEXTRA} \ elif [ X"${PSRCS}" != X ] ; then \ echo ${MKDEP} -vpath ${VPATH} ${ALL_CPPFLAGS} ${ALL_CFLAGS} ${PSRCS}; \ ${MKDEP} -vpath ${VPATH} -p ${ALL_CPPFLAGS} ${ALL_CFLAGS} ${PSRCS}; \ ${DEPENDEXTRA} \ fi \ else \ if [ X"${SRCS}" != X -a X"${PSRCS}" != X ] ; then \ echo ${MKDEP} ${ALL_CPPFLAGS} ${ALL_CFLAGS} ${SRCS}; \ ${MKDEP} ${ALL_CPPFLAGS} ${ALL_CFLAGS} ${SRCS}; \ echo ${MKDEP} -ap ${ALL_CPPFLAGS} ${ALL_CFLAGS} ${PSRCS}; \ ${MKDEP} -ap ${ALL_CPPFLAGS} ${ALL_CFLAGS} ${PSRCS}; \ ${DEPENDEXTRA} \ elif [ X"${SRCS}" != X ] ; then \ echo ${MKDEP} ${ALL_CPPFLAGS} ${ALL_CFLAGS} ${SRCS}; \ ${MKDEP} ${ALL_CPPFLAGS} ${ALL_CFLAGS} ${SRCS}; \ ${DEPENDEXTRA} \ elif [ X"${PSRCS}" != X ] ; then \ echo ${MKDEP} ${ALL_CPPFLAGS} ${ALL_CFLAGS} ${PSRCS}; \ ${MKDEP} -p ${ALL_CPPFLAGS} ${ALL_CFLAGS} ${PSRCS}; \ ${DEPENDEXTRA} \ fi \ fi FORCE: ### ### Libraries ### AR = /usr/bin/ar ARFLAGS = cruv RANLIB = ranlib ### ### Installation ### INSTALL = /usr/bin/install -c INSTALL_PROGRAM = ${INSTALL} LINK_PROGRAM = ln -s INSTALL_SCRIPT = ${INSTALL} INSTALL_DATA = ${INSTALL} -m 644 ### ### Programs used when generating documentation. It's ok for these ### not to exist when not generating documentation. ### XSLTPROC = xsltproc --novalid --xinclude --nonet PERL = /usr/bin/perl LATEX = latex PDFLATEX = pdflatex W3M = w3m ### ### Script language program used to create internal symbol tables ### MKSYMTBL_PROGRAM = ### ### Switch to create internal symbol table selectively ### ALWAYS_MAKE_SYMTABLE = ### ### DocBook -> HTML ### DocBook -> man page ### .SUFFIXES: .docbook .html .1 .2 .3 .4 .5 .6 .7 .8 .docbook.html: ${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-docbook-html.xsl $< .docbook.1: ${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-manpage.xsl $< .docbook.2: ${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-manpage.xsl $< .docbook.3: ${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-manpage.xsl $< .docbook.4: ${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-manpage.xsl $< .docbook.5: ${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-manpage.xsl $< .docbook.6: ${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-manpage.xsl $< .docbook.7: ${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-manpage.xsl $< .docbook.8: ${XSLTPROC} -o $@ ${top_srcdir}/doc/xsl/isc-manpage.xsl $< VERSION=9.7.0-P1-RedHat-9.7.0-9.P1.fc13 MANOBJS = Bv9ARM.html PDFOBJS = Bv9ARM.pdf doc man:: ${MANOBJS} ${PDFOBJS} clean:: rm -f Bv9ARM.aux Bv9ARM.brf Bv9ARM.glo Bv9ARM.idx Bv9ARM.toc rm -f Bv9ARM.log Bv9ARM.out Bv9ARM.tex Bv9ARM.tex.tmp docclean manclean maintainer-clean:: clean rm -f *.html ${PDFOBJS} docclean manclean maintainer-clean distclean:: rm -f releaseinfo.xml Bv9ARM.html: Bv9ARM-book.xml releaseinfo.xml expand Bv9ARM-book.xml | \ ${XSLTPROC} --stringparam root.filename Bv9ARM \ ${top_srcdir}/doc/xsl/isc-docbook-chunk.xsl - Bv9ARM-all.html: Bv9ARM-book.xml releaseinfo.xml expand Bv9ARM-book.xml | \ ${XSLTPROC} -o Bv9ARM-all.html ../xsl/isc-docbook-html.xsl - Bv9ARM.tex: Bv9ARM-book.xml releaseinfo.xml expand Bv9ARM-book.xml | \ ${XSLTPROC} ${top_srcdir}/doc/xsl/pre-latex.xsl - | \ ${XSLTPROC} ${top_srcdir}/doc/xsl/isc-docbook-latex.xsl - | \ /usr/bin/perl latex-fixup.pl >$@.tmp if test -s $@.tmp; then mv $@.tmp $@; else rm -f $@.tmp; exit 1; fi Bv9ARM.dvi: Bv9ARM.tex releaseinfo.xml rm -f Bv9ARM-book.aux Bv9ARM-book.dvi Bv9ARM-book.log ${LATEX} '\batchmode\input Bv9ARM.tex' || (rm -f $@ ; exit 1) ${LATEX} '\batchmode\input Bv9ARM.tex' || (rm -f $@ ; exit 1) ${LATEX} '\batchmode\input Bv9ARM.tex' || (rm -f $@ ; exit 1) Bv9ARM.pdf: Bv9ARM.tex releaseinfo.xml rm -f Bv9ARM-book.aux Bv9ARM-book.pdf Bv9ARM-book.log ${PDFLATEX} '\batchmode\input Bv9ARM.tex' || (rm -f $@ ; exit 1) ${PDFLATEX} '\batchmode\input Bv9ARM.tex' || (rm -f $@ ; exit 1) ${PDFLATEX} '\batchmode\input Bv9ARM.tex' || (rm -f $@ ; exit 1) releaseinfo.xml: echo >$@ '<releaseinfo>BIND Version ${VERSION}</releaseinfo>'