Makefile.in revision 224090
1# Copyright (C) 2009, 2010  Internet Systems Consortium, Inc. ("ISC")
2#
3# Permission to use, copy, modify, and/or distribute this software for any
4# purpose with or without fee is hereby granted, provided that the above
5# copyright notice and this permission notice appear in all copies.
6#
7# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
8# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
9# AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
10# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
11# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
12# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13# PERFORMANCE OF THIS SOFTWARE.
14
15# $Id: Makefile.in,v 1.8 2010-12-23 04:07:59 marka Exp $
16
17top_srcdir =	@top_srcdir@
18srcdir =	@top_srcdir@/lib/dns
19export_srcdir =	@top_srcdir@/lib/export
20
21# Attempt to disable parallel processing.
22.NOTPARALLEL:
23.NO_PARALLEL:
24
25@BIND9_VERSION@
26
27@LIBDNS_API@
28
29@BIND9_MAKE_INCLUDES@
30
31CINCLUDES =	-I. -Iinclude ${DNS_INCLUDES} -I${export_srcdir}/isc/include \
32		${ISC_INCLUDES} @DST_OPENSSL_INC@ @DST_GSSAPI_INC@
33
34CDEFINES =	-DUSE_MD5 @USE_OPENSSL@ @USE_GSSAPI@
35
36CWARNINGS =
37
38ISCLIBS =	../isc/libisc.@A@
39
40ISCDEPLIBS =	../isc/libisc.@A@
41
42LIBS =		@LIBS@
43
44# Alphabetically
45
46OPENSSLLINKOBJS = openssl_link.@O@ openssldh_link.@O@ openssldsa_link.@O@ \
47		opensslgost_link.@O@ opensslrsa_link.@O@
48
49DSTOBJS =	@OPENSSLLINKOBJS@ \
50		dst_api.@O@ dst_lib.@O@ dst_parse.@O@ dst_result.@O@ \
51		gssapi_link.@O@ gssapictx.@O@ hmac_link.@O@ key.@O@
52
53DNSOBJS =	acl.@O@ adb.@O@ byaddr.@O@ \
54		cache.@O@ callbacks.@O@ client.@O@ compress.@O@ \
55		db.@O@ dbiterator.@O@ diff.@O@ dispatch.@O@ dlz.@O@ dnssec.@O@ \
56		ds.@O@ \
57		forward.@O@ iptable.@O@ \
58		keytable.@O@ \
59		lib.@O@ log.@O@ \
60		master.@O@ masterdump.@O@ message.@O@ \
61		name.@O@ ncache.@O@ nsec.@O@ nsec3.@O@ \
62		peer.@O@ portlist.@O@ \
63		rbt.@O@ rbtdb.@O@ rcode.@O@ rdata.@O@ \
64		rdatalist.@O@ rdataset.@O@ rdatasetiter.@O@ rdataslab.@O@ \
65		request.@O@ resolver.@O@ result.@O@ soa.@O@ stats.@O@ \
66		tcpmsg.@O@ time.@O@ tsec.@O@ tsig.@O@ ttl.@O@ \
67		validator.@O@ version.@O@ view.@O@
68PORTDNSOBJS =	ecdb.@O@
69
70OBJS=		${DNSOBJS} ${OTHEROBJS} ${DSTOBJS} ${PORTDNSOBJS}
71
72# Alphabetically
73
74OPENSSLLINKSRCS = openssl_link.c openssldh_link.c openssldsa_link.c \
75		opensslgost_link.c opensslrsa_link.c
76
77DSTSRCS =	@OPENSSLLINKSRCS@ \
78		dst_api.c dst_lib.c dst_parse.c \
79		dst_result.c gssapi_link.c gssapictx.c \
80		hmac_link.c key.c 
81
82DNSSRCS =	acl.c adb.c byaddr.c \
83		cache.c callbacks.c client.c compress.c \
84		db.c dbiterator.c diff.c dispatch.c dlz.c dnssec.c ds.c \
85		forward.c iptable.c \
86		keytable.c \
87		lib.c log.c \
88		master.c masterdump.c message.c \
89		name.c ncache.c nsec.c nsec3.c \
90		peer.c portlist.c \
91		rbt.c rbtdb.c rcode.c rdata.c \
92		rdatalist.c rdataset.c rdatasetiter.c rdataslab.c \
93		request.c res.c resolver.c result.c soa.c stats.c \
94		tcpmsg.c time.c tsec.c tsig.c ttl.c \
95		validator.c version.c view.c
96PORTDNSSRCS =	ecdb.c
97
98SRCS = ${DSTSRCS} ${DNSSRCS} ${PORTDNSSRCS}
99
100SUBDIRS =	include
101TARGETS =	include/dns/enumtype.h include/dns/enumclass.h \
102		include/dns/rdatastruct.h timestamp
103
104DEPENDEXTRA =	./gen -F include/dns/rdatastruct.h \
105		-s ${srcdir} -d >> Makefile ;
106
107@BIND9_MAKE_RULES@
108
109version.@O@: ${srcdir}/version.c
110	${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
111		-DVERSION=\"${VERSION}\" \
112		-DLIBINTERFACE=${LIBINTERFACE} \
113		-DLIBREVISION=${LIBREVISION} \
114		-DLIBAGE=${LIBAGE} \
115		-c ${srcdir}/version.c
116
117libdns.@SA@: ${OBJS}
118	${AR} ${ARFLAGS} $@ ${OBJS}
119	${RANLIB} $@
120
121libdns.la: ${OBJS}
122	${LIBTOOL_MODE_LINK} \
123		${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libdns.la \
124		-rpath ${export_libdir} \
125		-version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
126		${OBJS} ${ISCLIBS} @DNS_CRYPTO_LIBS@ ${LIBS}
127
128timestamp: libdns.@A@
129	touch timestamp
130
131installdirs:
132	$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${export_libdir}
133
134install:: timestamp installdirs
135	${LIBTOOL_MODE_INSTALL} ${INSTALL_DATA} libdns.@A@ \
136	${DESTDIR}${export_libdir}
137
138clean distclean::
139	rm -f libdns.@A@ timestamp
140	rm -f gen code.h include/dns/enumtype.h include/dns/enumclass.h
141	rm -f include/dns/rdatastruct.h
142
143newrr::
144	rm -f code.h include/dns/enumtype.h include/dns/enumclass.h
145	rm -f include/dns/rdatastruct.h
146
147include: include/dns/enumtype.h include/dns/enumclass.h \
148	include/dns/rdatastruct.h
149
150rdata.@O@: code.h
151
152include/dns/enumtype.h: gen
153	./gen -s ${srcdir} -t > $@
154
155include/dns/enumclass.h: gen
156	./gen -s ${srcdir} -c > $@
157
158include/dns/rdatastruct.h: gen \
159		${srcdir}/rdata/rdatastructpre.h \
160		${srcdir}/rdata/rdatastructsuf.h
161	./gen -s ${srcdir} -i \
162		-P ${srcdir}/rdata/rdatastructpre.h \
163		-S ${srcdir}/rdata/rdatastructsuf.h > $@
164
165code.h:	gen
166	./gen -s ${srcdir} > code.h
167
168gen: ${srcdir}/gen.c
169	${CC} ${ALL_CFLAGS} ${LDFLAGS} -o $@ ${srcdir}/gen.c ${LIBS}
170
171#We don't need rbtdb64 for this library
172#rbtdb64.@O@: rbtdb.c
173
174depend: include/dns/enumtype.h include/dns/enumclass.h \
175	include/dns/rdatastruct.h code.h
176subdirs: include/dns/enumtype.h include/dns/enumclass.h \
177	include/dns/rdatastruct.h code.h
178${OBJS}: include/dns/enumtype.h include/dns/enumclass.h \
179	include/dns/rdatastruct.h
180