Makefile revision beb52a4b18a198a26103ad03f6ac6ec46a91d812
# Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and 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,v 1.1 2011/01/11 21:36:22 mgraff Exp $
srcdir = .
top_srcdir = ../../..
# Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2001 Internet Software Consortium.
#
# 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,v 1.1 2011/01/11 21:36:22 mgraff Exp $
# Search for machine-generated header files in the build tree,
# and for normal headers in the source tree (${top_srcdir}).
# We only need to look in OS-specific subdirectories for the
# latter case, because there are no machine-generated OS-specific
# headers.
TEST_INCLUDES = \
CDEFINES =
# Note that we do not want to use libtool for libt_api
# Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2003 Internet Software Consortium.
#
# 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,v 1.1 2011/01/11 21:36:22 mgraff 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.
exec_prefix = ${prefix}
sysconfdir = /etc
localstatedir = /var
DESTDIR =
###
### All
###
### Makefile may define:
### TARGETS
###
### Subdirectories
###
### Makefile may define:
### SUBDIRS
#
# 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.
#
@for i in ${ALL_SUBDIRS}; do \
if [ "$$i" != "nulldir" -a -d $$i ]; then \
echo "making all in `pwd`/$$i"; \
fi; \
done
@for i in ${ALL_SUBDIRS}; do \
if [ "$$i" != "nulldir" -a -d $$i ]; then \
echo "making $@ in `pwd`/$$i"; \
fi; \
done
###
### C Programs
###
### Makefile must define
### CC
### Makefile may define
### CFLAGS
### LDFLAGS
### CINCLUDES
### CDEFINES
### CWARNINGS
### User may define externally
### EXT_CFLAGS
LDFLAGS =
STD_CWARNINGS = -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith -fno-strict-aliasing
.SUFFIXES:
.SUFFIXES: .c .o
ALWAYS_INCLUDES = -I${top_builddir}
ALL_CPPFLAGS = \
.c.o:
LIBTOOL =
LIBTOOL_MODE_LINK = ${LIBTOOL}
PURIFY =
###
### 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 \
else \
-o $@-symtbl2.c $@tmp2; \
fi
@for i in ${ALL_SUBDIRS}; do \
if [ "$$i" != "nulldir" -a -d $$i ]; then \
echo "making depend in `pwd`/$$i"; \
fi; \
done
@if [ X"${VPATH}" != X ] ; then \
if [ X"${SRCS}" != X -a X"${PSRCS}" != X ] ; then \
${DEPENDEXTRA} \
elif [ X"${SRCS}" != X ] ; then \
${DEPENDEXTRA} \
elif [ X"${PSRCS}" != X ] ; then \
${DEPENDEXTRA} \
fi \
else \
if [ X"${SRCS}" != X -a X"${PSRCS}" != X ] ; then \
${DEPENDEXTRA} \
elif [ X"${SRCS}" != X ] ; then \
${DEPENDEXTRA} \
elif [ X"${PSRCS}" != X ] ; then \
${DEPENDEXTRA} \
fi \
fi
###
### Libraries
###
###
### Installation
###
INSTALL_PROGRAM = ${INSTALL}
LINK_PROGRAM = ln -s
INSTALL_SCRIPT = ${INSTALL}
###
### Programs used when generating documentation. It's ok for these
### not to exist when not generating documentation.
###
###
### Script language program used to create internal symbol tables
###
###
### Switch to create internal symbol table selectively
###
###
### DocBook -> HTML
### DocBook -> man page
###
.docbook.1:
.docbook.2:
.docbook.3:
.docbook.4:
.docbook.5:
.docbook.6:
.docbook.7:
.docbook.8:
test: t_atomic
@./t_atomic -h