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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
# Copyright (c) 1996,1999 by 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 INTERNET SOFTWARE CONSORTIUM DISCLAIMS
# ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
# CONSORTIUM 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 8.25 2000/12/23 08:02:56 vixie Exp $
SUBDIRS = resolv irs isc bsd inet nameser dst cylink dnssafe
# these are only appropriate for FreeBSD or similar, and are used in
# development. normal builds will be done in the top level directory and
# this Makefile will be invoked with a lot of overrides for the following:
SYSTYPE= freebsd
SHELL= /bin/sh
O=o
A=a
DESTDIR=
DESTINC= /usr/local/bind/include
DESTLIB= /usr/local/bind/lib
TOP= ..
INCL= ${TOP}/include
PORTINCL= ${TOP}/port/${SYSTYPE}/include
LIBBIND= ${TOP}/lib/libbind.${A}
LIBBINDR= ${TOP}/lib/libbind_r.${A}
LIBPORT= ${TOP}/port/libport.${A}
RANLIB= ranlib
AR= ar cru
INSTALL= install
CDEBUG= -g
REENTRANT=-D_REENTRANT
INSTALL_EXEC=
INSTALL_LIB=-o bin -g bin
# Warning: this MARGS has RANLIB=: to prevent submakes from running ranlib
MARGS = "SYSTYPE=${SYSTYPE}" "SHELL=${SHELL}" "A=${A}" "O=${O}" \
"CC=${CC}" "LEX=${LEX}" "YACC=${YACC}" "CDEBUG=${CDEBUG}" \
"SYSLIBS=${SYSLIBS}" "LDFLAGS=${LDFLAGS}" \
"DESTDIR=${DESTDIR}" "DESTMAN=${DESTMAN}" \
"DESTBIN=${DESTBIN}" "DESTSBIN=${DESTSBIN}" "DESTEXEC=${DESTEXEC}" \
"DESTLIB=${DESTLIB}" "DESTINC=${DESTINC}" "DESTHELP=${DESTHELP}" \
"RANLIB=:" "AR=${AR}" "ARPREF=${ARPREF}" "ARSUFF=${ARSUFF}" \
"INCL=../${INCL}" "PORTINCL=../${PORTINCL}" "EXE=${EXE}" \
"LIBBIND=../${LIBBIND}" "LIBPORT=../${LIBPORT}" \
"INSTALL=${INSTALL}" "TOP=../${TOP}" \
"REENTRANT=${REENTRANT}" "INSTALL_LIB=${INSTALL_LIB}" \
"INSTALL_EXEC=${INSTALL_EXEC}" "BOUNDS=${BOUNDS}"
LIB = libbind.${A}
LIBTS = ${TOP}/lib/libbind.ts
LIBR = libbind_r.${A}
LIBRTS = ${TOP}/lib/libbindr.ts
all depend clean install distclean::
@for x in ${SUBDIRS}; do \
(cd $$x; pwd; ${MAKE} ${MARGS} $@) || exit 1; \
done
all:: ${LIBTS} ${LIBRTS}
${LIBRTS}: ${LIBBINDR}
${RANLIB} ${LIBBINDR}
sleep 1 && touch ${LIBRTS}
${LIBTS}: ${LIBBIND}
${RANLIB} ${LIBBIND}
sleep 1 && touch ${LIBTS}
distclean:: clean
clean:: FRC
rm -f *~ *.BAK *.CKP *.orig
rm -f ${LIBBIND} ${LIBTS}
rm -f ${LIBBINDR} ${LIBRTS}
install:: ${DESTDIR}${DESTLIB} ${DESTDIR}${DESTLIB}/${LIB}
install:: ${DESTDIR}${DESTLIB} ${DESTDIR}${DESTLIB}/${LIBR}
${DESTDIR}${DESTLIB}:
mkdir -p ${DESTDIR}${DESTLIB}
${DESTDIR}${DESTLIB}/${LIBR}: ${LIBBINDR}
${INSTALL} -c ${INSTALL_LIB} -m 644 ${LIBBINDR} \
${DESTDIR}${DESTLIB}/${LIBR}
( cd ${DESTDIR}${DESTLIB} ; ${RANLIB} ${LIBR} )
${DESTDIR}${DESTLIB}/${LIB}: ${LIBBIND}
${INSTALL} -c ${INSTALL_LIB} -m 644 ${LIBBIND} \
${DESTDIR}${DESTLIB}/${LIB}
( cd ${DESTDIR}${DESTLIB} ; ${RANLIB} ${LIB} )
links:: FRC
@set -e; for x in ${SUBDIRS}; do \
( mkdir $$x; cd $$x; pwd; ln -s ../SRC/$$x SRC; \
cp SRC/Makefile Makefile; chmod +w Makefile; \
${MAKE} ${MARGS} links; \
) || exit 1; \
done
FRC:
|