summaryrefslogtreecommitdiffstats
path: root/contrib/bind/lib/Makefile
blob: 1de1d01169c85224eaf4654137875a621f27fd0a (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
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:
OpenPOWER on IntegriCloud