Makefile.in revision 1.1.1.7
1# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
2#
3# This Source Code Form is subject to the terms of the Mozilla Public
4# License, v. 2.0. If a copy of the MPL was not distributed with this
5# file, You can obtain one at http://mozilla.org/MPL/2.0/.
6#
7# See the COPYRIGHT file distributed with this work for additional
8# information regarding copyright ownership.
9
10srcdir =	@srcdir@
11VPATH =		@srcdir@
12top_srcdir =	@top_srcdir@
13
14VERSION=@BIND9_VERSION@
15
16@BIND9_MAKE_INCLUDES@
17
18CINCLUDES =	-I${srcdir}/unix/include \
19		-I${srcdir}/pthreads/include \
20		-I./include \
21		-I${srcdir}/include ${DNS_INCLUDES} \
22		${OPENSSL_CFLAGS} \
23		${JSON_C_CFLAGS} \
24		${LIBXML2_CFLAGS} \
25		${ZLIB_CFLAGS}
26CDEFINES =
27CWARNINGS =
28
29# Alphabetically
30UNIXOBJS =	unix/pk11_api.@O@ \
31		unix/dir.@O@ unix/errno.@O@ \
32		unix/errno2result.@O@ unix/file.@O@ unix/fsaccess.@O@ \
33		unix/interfaceiter.@O@ unix/meminfo.@O@ \
34		unix/net.@O@ unix/os.@O@ unix/resource.@O@ unix/socket.@O@ \
35		unix/stdio.@O@ unix/stdtime.@O@ \
36		unix/syslog.@O@ unix/time.@O@
37
38THREADOBJS =	pthreads/condition.@O@ pthreads/mutex.@O@ pthreads/thread.@O@
39
40WIN32OBJS = 	win32/condition.@O@ win32/dir.@O@ win32/errno.@O@ \
41		win32/file.@O@ win32/fsaccess.@O@ \
42		win32/meminfo.@O@ win32/once.@O@ \
43		win32/stdtime.@O@ win32/thread.@O@ win32/time.@O@
44
45# Alphabetically
46OBJS =		pk11.@O@ pk11_result.@O@ \
47		aes.@O@ app.@O@ assertions.@O@ astack.@O@ \
48		backtrace.@O@ base32.@O@ base64.@O@ \
49		bind9.@O@ buffer.@O@ bufferlist.@O@ \
50		commandline.@O@ counter.@O@ crc64.@O@ error.@O@ entropy.@O@ \
51		event.@O@ hash.@O@ ht.@O@ heap.@O@ hex.@O@ \
52		hmac.@O@ hp.@O@ httpd.@O@ iterated_hash.@O@ \
53		lex.@O@ lfsr.@O@ lib.@O@ log.@O@ \
54		md.@O@ mem.@O@ mutexblock.@O@ \
55		netmgr/netmgr.@O@ netmgr/tcp.@O@ netmgr/udp.@O@ \
56		netmgr/tcpdns.@O@ netmgr/tls.@O@ netmgr/tlsdns.@O@ netmgr/uverr2result.@O@ netmgr/uv-compat.@O@ \
57		netaddr.@O@ netscope.@O@ nonce.@O@ openssl_shim.@O@ pool.@O@ \
58		parseint.@O@ portset.@O@ queue.@O@ quota.@O@ \
59		radix.@O@ random.@O@ ratelimiter.@O@ \
60		region.@O@ regex.@O@ result.@O@ rwlock.@O@ \
61		safe.@O@ serial.@O@ siphash.@O@ sockaddr.@O@ stats.@O@ \
62		string.@O@ symtab.@O@ task.@O@ taskpool.@O@ \
63		utf8.@O@ tm.@O@ timer.@O@ version.@O@ \
64		${UNIXOBJS} ${THREADOBJS}
65SYMTBLOBJS =	backtrace-emptytbl.@O@
66
67# Alphabetically
68SRCS =		pk11.c pk11_result.c \
69		aes.c app.c assertions.c astack.c \
70		backtrace.c base32.c base64.c bind9.c \
71		buffer.c bufferlist.c commandline.c counter.c crc64.c \
72		entropy.c error.c event.c hash.c ht.c heap.c \
73		hex.c hmac.c hp.c httpd.c iterated_hash.c \
74		lex.c lfsr.c lib.c log.c \
75		md.c mem.c mutexblock.c \
76		netaddr.c netscope.c nonce.c openssl_shim.c pool.c \
77		parseint.c portset.c queue.c quota.c radix.c random.c \
78		ratelimiter.c region.c regex.c result.c rwlock.c \
79		safe.c serial.c siphash.c sockaddr.c stats.c string.c \
80		symtab.c task.c taskpool.c timer.c \
81		utf8.c tm.c version.c
82
83LIBS =		${OPENSSL_LIBS} ${JSON_C_LIBS} ${LIBUV_LIBS} ${LIBXML2_LIBS} ${ZLIB_LIBS} @LIBS@
84
85# Note: the order of SUBDIRS is important.
86# Attempt to disable parallel processing.
87.NOTPARALLEL:
88.NO_PARALLEL:
89SUBDIRS =	include netmgr unix pthreads
90TARGETS =	timestamp
91TESTDIRS =	@UNITTESTS@
92
93@BIND9_MAKE_RULES@
94
95version.@O@: version.c
96	${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
97		-DVERSION=\"${VERSION}\" \
98		-c ${srcdir}/version.c
99
100libisc.@SA@: ${OBJS} ${SYMTBLOBJS}
101	${AR} ${ARFLAGS} $@ ${OBJS} ${SYMTBLOBJS}
102	${RANLIB} $@
103
104libisc-nosymtbl.@SA@: ${OBJS}
105	${AR} ${ARFLAGS} $@ ${OBJS}
106	${RANLIB} $@
107
108libisc.la: ${OBJS} ${SYMTBLOBJS}
109	${LIBTOOL_MODE_LINK} \
110		${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisc.la -rpath ${libdir} \
111		-release "${VERSION}" \
112		${OBJS} ${SYMTBLOBJS} ${LIBS}
113
114libisc-nosymtbl.la: ${OBJS}
115	${LIBTOOL_MODE_LINK} \
116		${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisc-nosymtbl.la -rpath ${libdir} \
117		-release "${VERSION}" \
118		${OBJS} ${LIBS}
119
120timestamp: libisc.@A@ libisc-nosymtbl.@A@
121	touch timestamp
122
123testdirs: libisc.@A@ libisc-nosymtbl.@A@
124
125installdirs:
126	$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${libdir}
127
128install:: timestamp installdirs
129	${LIBTOOL_MODE_INSTALL} ${INSTALL_LIBRARY} libisc.@A@ ${DESTDIR}${libdir}
130
131uninstall::
132	${LIBTOOL_MODE_UNINSTALL} rm -f ${DESTDIR}${libdir}/libisc.@A@
133
134clean distclean::
135	rm -f libisc.@A@ libisc-nosymtbl.@A@ libisc.la \
136	libisc-nosymtbl.la timestamp
137