# 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: rules.in,v 1.15 2009/01/22 23:49:23 tbox 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 =        @prefix@
exec_prefix =   @exec_prefix@
bindir =        @bindir@
sbindir =       @sbindir@
includedir =    @includedir@
libdir =        @libdir@
sysconfdir =    @sysconfdir@
localstatedir = @localstatedir@
mandir =        @mandir@
datarootdir =   @datarootdir@

DESTDIR =
MAKEDEFS= 'DESTDIR=${DESTDIR}'

@SET_MAKE@

top_builddir =  @BIND9_TOP_BUILDDIR@
abs_top_srcdir = @abs_top_srcdir@

###
### 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} all) || exit 1; \
               fi; \
       done

install clean distclean docclean manclean::
       @for i in ${ALL_SUBDIRS}; do \
               if [ "$$i" != "nulldir" -a -d $$i ]; then \
                       echo "making $@ in `pwd`/$$i"; \
                       (cd $$i; ${MAKE} ${MAKEDEFS} $@) || exit 1; \
               fi \
       done

###
### C Programs
###
### Makefile must define
###     CC
### Makefile may define
###     CFLAGS
###     CINCLUDES
###     CDEFINES
###     CWARNINGS
### User may define externally
###     EXT_CFLAGS

CC =            @CC@
CFLAGS =        @CFLAGS@
STD_CINCLUDES = @STD_CINCLUDES@
STD_CDEFINES =  @STD_CDEFINES@
STD_CWARNINGS = @STD_CWARNINGS@

SUFFIXES:
SUFFIXES: .c .@O@

ALWAYS_INCLUDES = -I${top_builddir} -I${abs_top_srcdir}/@PORT_INCLUDE@
ALWAYS_DEFINES = @ALWAYS_DEFINES@
ALWAYS_WARNINGS =

ALL_CPPFLAGS = \
       ${ALWAYS_INCLUDES} ${CINCLUDES} ${STD_CINCLUDES} \
       ${ALWAYS_DEFINES} ${CDEFINES} ${STD_CDEFINES}

ALL_CFLAGS = ${EXT_CFLAGS} ${CFLAGS} \
       ${ALL_CPPFLAGS} \
       ${ALWAYS_WARNINGS} ${STD_CWARNINGS} ${CWARNINGS}

c.@O@:
       ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -c $<

SHELL = @SHELL@
LIBTOOL = @LIBTOOL@
LIBTOOL_MODE_COMPILE = ${LIBTOOL} @LIBTOOL_MODE_COMPILE@
LIBTOOL_MODE_INSTALL = ${LIBTOOL} @LIBTOOL_MODE_INSTALL@
LIBTOOL_MODE_LINK = ${LIBTOOL} @LIBTOOL_MODE_LINK@
PURIFY = @PURIFY@

MKDEP = ${SHELL} ${top_builddir}/make/mkdep

cleandir: distclean

clean distclean::
       rm -f *.@O@ *.lo *.la core *.core .depend
       rm -rf .libs

distclean::
       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} $@) || exit 1; \
               fi \
       done
       @if [ X"${SRCS}" != X -a X"${PSRCS}" != X ] ; then \
               echo ${MKDEP} ${ALL_CPPFLAGS} ${SRCS}; \
               ${MKDEP} ${ALL_CPPFLAGS} ${SRCS}; \
               echo ${MKDEP} -ap ${ALL_CPPFLAGS} ${PSRCS}; \
               ${MKDEP} -ap ${ALL_CPPFLAGS} ${PSRCS}; \
               ${DEPENDEXTRA} \
       elif [ X"${SRCS}" != X ] ; then \
               echo ${MKDEP} ${ALL_CPPFLAGS} ${SRCS}; \
               ${MKDEP} ${ALL_CPPFLAGS} ${SRCS}; \
               ${DEPENDEXTRA} \
       elif [ X"${PSRCS}" != X ] ; then \
               echo ${MKDEP} ${ALL_CPPFLAGS} ${PSRCS}; \
               ${MKDEP} -p ${ALL_CPPFLAGS} ${PSRCS}; \
               ${DEPENDEXTRA} \
       fi

FORCE:

###
### Libraries
###

AR =            @AR@
ARFLAGS =       @ARFLAGS@
RANLIB =        @RANLIB@

###
### Installation
###

INSTALL =               @INSTALL@
INSTALL_PROGRAM =       @INSTALL_PROGRAM@
INSTALL_DATA =          @INSTALL_DATA@