mirror of https://github.com/getdnsapi/getdns.git
272 lines
15 KiB
Makefile
272 lines
15 KiB
Makefile
#
|
|
# @configure_input@
|
|
#
|
|
# Copyright (c) 2013, Verisign, Inc., NLnet Labs
|
|
# All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions are met:
|
|
# * Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
# * Redistributions in binary form must reproduce the above copyright
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
# documentation and/or other materials provided with the distribution.
|
|
# * Neither the names of the copyright holders nor the
|
|
# names of its contributors may be used to endorse or promote products
|
|
# derived from this software without specific prior written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
# DISCLAIMED. IN NO EVENT SHALL Verisign, Inc. BE LIABLE FOR ANY
|
|
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
package = @PACKAGE_NAME@
|
|
version = @PACKAGE_VERSION@
|
|
tarname = @PACKAGE_TARNAME@
|
|
distdir = $(tarname)-$(version)
|
|
|
|
# current:revision:age
|
|
# (binary-api-number):(which-binary-api-version):(how-many-nrs-backwardscompat)
|
|
# if source code changes increment revision
|
|
# if any interfaces have been added/removed/changed since last update then
|
|
# increment current and set revision to 0
|
|
# if any interfaces have been added since the last public release then increment age
|
|
# if any interfaces have been removed or changed since the last public release then
|
|
# set age to 0
|
|
# if api unchanged: no changes
|
|
# if api broken: current++ ; revision = 0; age = 0
|
|
# if programs compiled against existing library work and link with new
|
|
# version of library with new binary api: revision++; age++
|
|
libversion = 0:0:0
|
|
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
bindir = @bindir@
|
|
libdir = @libdir@
|
|
includedir = @includedir@
|
|
have_libevent = @have_libevent@
|
|
have_libuv = @have_libuv@
|
|
have_libev = @have_libev@
|
|
# datarootdir is here to please some checkers
|
|
datarootdir=@datarootdir@
|
|
INSTALL = @INSTALL@
|
|
|
|
srcdir = @srcdir@
|
|
VPATH = @srcdir@
|
|
LIBTOOL = ../libtool
|
|
|
|
CC=@CC@
|
|
CFLAGS=@CFLAGS@ -Wall -I$(srcdir) -I. -std=c99 -D_POSIX_C_SOURCE=200112L
|
|
LDFLAGS=@LDFLAGS@ @LIBS@
|
|
|
|
EXTENSION_LIBEVENT_LIB=@EXTENSION_LIBEVENT_LIB@
|
|
EXTENSION_LIBEVENT_EXT_LIBS=@EXTENSION_LIBEVENT_EXT_LIBS@
|
|
EXTENSION_LIBEVENT_LDFLAGS=@EXTENSION_LIBEVENT_LDFLAGS@
|
|
EXTENSION_LIBEV_LIB=@EXTENSION_LIBEV_LIB@
|
|
EXTENSION_LIBEV_EXT_LIBS=@EXTENSION_LIBEV_EXT_LIBS@
|
|
EXTENSION_LIBEV_LDFLAGS=@EXTENSION_LIBEV_LDFLAGS@
|
|
EXTENSION_LIBUV_LIB=@EXTENSION_LIBUV_LIB@
|
|
EXTENSION_LIBUV_EXT_LIBS=@EXTENSION_LIBUV_EXT_LIBS@
|
|
EXTENSION_LIBUV_LDFLAGS=@EXTENSION_LIBUV_LDFLAGS@
|
|
|
|
GETDNS_OBJ=const-info.lo context.lo convert.lo dict.lo dnssec.lo general.lo \
|
|
getdns_error.lo libmini_event.lo list.lo request-internal.lo \
|
|
rr-dict.lo stub.lo sync.lo util-internal.lo
|
|
|
|
GLDNS_OBJ=keyraw.lo gbuffer.lo wire2str.lo parse.lo parseutil.lo rrdef.lo \
|
|
str2wire.lo
|
|
|
|
LIBOBJDIR=
|
|
LIBOBJS=@LIBOBJS@
|
|
COMPAT_OBJ=$(LIBOBJS:.o=.lo)
|
|
|
|
UTIL_OBJ=mini_event.lo rbtree.lo
|
|
|
|
.SUFFIXES: .c .o .a .lo .h
|
|
|
|
.c.o:
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
.c.lo:
|
|
$(LIBTOOL) --quiet --tag=CC --mode=compile $(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
default: all
|
|
|
|
all: libgetdns.la $(EXTENSION_LIBEVENT_LIB) $(EXTENSION_LIBUV_LIB) $(EXTENSION_LIBEV_LIB)
|
|
|
|
$(GLDNS_OBJ) $(COMPAT_OBJ) $(UTIL_OBJ) libmini_event.lo:
|
|
@:
|
|
$(LIBTOOL) --quiet --tag=CC --mode=compile $(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
install: libgetdns.la
|
|
$(INSTALL) -m 755 -d $(DESTDIR)$(includedir)
|
|
$(INSTALL) -m 755 -d $(DESTDIR)$(includedir)/getdns
|
|
$(INSTALL) -m 644 getdns/getdns.h $(DESTDIR)$(includedir)/getdns/getdns.h
|
|
$(INSTALL) -m 644 $(srcdir)/getdns/getdns_extra.h $(DESTDIR)$(includedir)/getdns/getdns_extra.h
|
|
$(INSTALL) -m 755 -d $(DESTDIR)$(libdir)
|
|
$(LIBTOOL) --mode=install cp libgetdns.la $(DESTDIR)$(libdir)
|
|
if test $(have_libevent) = 1 ; then $(INSTALL) -m 644 $(srcdir)/getdns/getdns_ext_libevent.h $(DESTDIR)$(includedir)/getdns/ ; $(LIBTOOL) --mode=install cp $(EXTENSION_LIBEVENT_LIB) $(DESTDIR)$(libdir) ; fi
|
|
if test $(have_libuv) = 1 ; then $(INSTALL) -m 644 $(srcdir)/getdns/getdns_ext_libuv.h $(DESTDIR)$(includedir)/getdns/ ; $(LIBTOOL) --mode=install cp $(EXTENSION_LIBUV_LIB) $(DESTDIR)$(libdir) ; fi
|
|
if test $(have_libev) = 1 ; then $(INSTALL) -m 644 $(srcdir)/getdns/getdns_ext_libev.h $(DESTDIR)$(includedir)/getdns/ ; $(LIBTOOL) --mode=install cp $(EXTENSION_LIBEV_LIB) $(DESTDIR)$(libdir) ; fi
|
|
|
|
$(LIBTOOL) --mode=finish $(DESTDIR)$(libdir)
|
|
|
|
uninstall:
|
|
rm -rf $(DESTDIR)$(includedir)/getdns
|
|
$(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/libgetdns.la
|
|
if test $(have_libevent) = 1; then $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(EXTENSION_LIBEVENT_LIB) ; fi
|
|
if test $(have_libuv) = 1; then $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(EXTENSION_LIBUV_LIB) ; fi
|
|
if test $(have_libev) = 1; then $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(EXTENSION_LIBEV_LIB) ; fi
|
|
|
|
libgetdns_ext_event.la: libgetdns.la extension/libevent.lo
|
|
$(LIBTOOL) --tag=CC --mode=link $(CC) $(CFLAGS) -o $@ extension/libevent.lo ./.libs/libgetdns.la $(LDFLAGS) $(EXTENSION_LIBEVENT_LDFLAGS) $(EXTENSION_LIBEVENT_EXT_LIBS) -rpath $(libdir) -version-info $(libversion) -no-undefined -export-symbols $(srcdir)/extension/libevent.symbols
|
|
|
|
libgetdns_ext_uv.la: libgetdns.la extension/libuv.lo
|
|
$(LIBTOOL) --tag=CC --mode=link $(CC) $(CFLAGS) -o $@ extension/libuv.lo ./.libs/libgetdns.la $(LDFLAGS) $(EXTENSION_LIBUV_LDFLAGS) $(EXTENSION_LIBUV_EXT_LIBS) -rpath $(libdir) -version-info $(libversion) -no-undefined -export-symbols $(srcdir)/extension/libuv.symbols
|
|
|
|
|
|
libgetdns_ext_ev.la: libgetdns.la extension/libev.lo
|
|
$(LIBTOOL) --tag=CC --mode=link $(CC) $(CFLAGS) -o $@ extension/libev.lo ./.libs/libgetdns.la $(LDFLAGS) $(EXTENSION_LIBEV_LDFLAGS) $(EXTENSION_LIBEV_EXT_LIBS) -rpath $(libdir) -version-info $(libversion) -no-undefined -export-symbols $(srcdir)/extension/libev.symbols
|
|
|
|
|
|
libgetdns.la: $(GETDNS_OBJ) $(GLDNS_OBJ) $(COMPAT_OBJ) $(UTIL_OBJ)
|
|
$(LIBTOOL) --tag=CC --mode=link $(CC) $(CFLAGS) -o $@ $(GETDNS_OBJ) $(GLDNS_OBJ) $(COMPAT_OBJ) $(UTIL_OBJ) $(LDFLAGS) -rpath $(libdir) -version-info $(libversion) -no-undefined -export-symbols $(srcdir)/libgetdns.symbols
|
|
|
|
|
|
test: FORCE
|
|
cd test && $(MAKE) $@
|
|
|
|
clean:
|
|
cd test && $(MAKE) $@
|
|
rm -f *.o *.lo extension/*.lo extension/*.o $(PROGRAMS) libgetdns.la libgetdns_ext_*.la
|
|
rm -rf .libs extension/.libs
|
|
|
|
distclean : clean
|
|
cd test && $(MAKE) $@
|
|
rmdir test 2>/dev/null || true
|
|
rm -f Makefile config.status config.log Doxyfile config.h getdns/Makefile getdns/getdns.h
|
|
rmdir getdns 2>/dev/null || true
|
|
rmdir extension 2>/dev/null || true
|
|
rm -Rf autom4te.cache
|
|
|
|
$(distdir): FORCE
|
|
mkdir -p $(distdir)/src
|
|
cp configure.ac $(distdir)
|
|
cp configure $(distdir)
|
|
cp Makefile.in $(distdir)
|
|
cp src/Makefile.in $(distdir)/src
|
|
|
|
distcheck: $(distdir).tar.gz
|
|
gzip -cd $(distdir).tar.gz | tar xvf -
|
|
cd $(distdir) && ./configure
|
|
cd $(distdir) && $(MAKE) all
|
|
cd $(distdir) && $(MAKE) check
|
|
cd $(distdir) && $(MAKE) DESTDIR=$${PWD}/_inst install
|
|
cd $(distdir) && $(MAKE) DESTDIR=$${PWD}/_inst uninstall
|
|
@remaining="`find $${PWD}/$(distdir)/_inst -type f | wc -l`"; \
|
|
if test "$${remaining}" -ne 0; then
|
|
echo "@@@ $${remaining} file(s) remaining in stage directory!"; \
|
|
exit 1; \
|
|
fi
|
|
cd $(distdir) && $(MAKE) clean
|
|
rm -rf $(distdir)
|
|
@echo "*** Package $(distdir).tar.gz is ready for distribution"
|
|
|
|
Makefile: Makefile.in ../config.status
|
|
cd .. && ./config.status $@
|
|
|
|
configure.status: configure
|
|
cd .. && ./config.status --recheck
|
|
|
|
depend:
|
|
(cd $(srcdir) ; awk 'BEGIN{P=1}{if(P)print}/^# Dependencies/{P=0}' Makefile.in > Makefile.in.new )
|
|
(cd $(srcdir) ; gcc -MM -I. *.c gldns/*.c compat/*.c util/*.c extension/libmini_event.c| \
|
|
sed -e 's?gldns/?$$(srcdir)/gldns/?g' \
|
|
-e 's?compat/?$$(srcdir)/compat/?g' \
|
|
-e 's?util/?$$(srcdir)/util/?g' \
|
|
-e 's?extension/?$$(srcdir)/extension/?g' \
|
|
-e 's? \([a-z_-]*\)\.\([ch]\)? $$(srcdir)/\1.\2?g' \
|
|
-e 's? \$$(srcdir)/config\.h? config.h?g' \
|
|
-e 's? getdns/getdns_extra\.h? $$(srcdir)/getdns/getdns_extra.h?g' \
|
|
-e 's!\(.*\)\.o[ :]*!\1.lo \1.o: !g' >> Makefile.in.new )
|
|
(cd $(srcdir) ; diff Makefile.in.new Makefile.in && rm Makefile.in.new \
|
|
|| mv Makefile.in.new Makefile.in )
|
|
|
|
.PHONY: clean test
|
|
FORCE:
|
|
|
|
# Dependencies for gldns, utils, the mini_event extension and compat functions
|
|
const-info.lo const-info.o: $(srcdir)/const-info.c getdns/getdns.h $(srcdir)/const-info.h
|
|
context.lo context.o: $(srcdir)/context.c config.h $(srcdir)/context.h getdns/getdns.h \
|
|
$(srcdir)/getdns/getdns_extra.h getdns/getdns.h $(srcdir)/types-internal.h \
|
|
$(srcdir)/extension/libmini_event.h config.h $(srcdir)/util/mini_event.h $(srcdir)/util/rbtree.h \
|
|
$(srcdir)/types-internal.h $(srcdir)/util-internal.h $(srcdir)/dnssec.h
|
|
convert.lo convert.o: $(srcdir)/convert.c getdns/getdns.h $(srcdir)/util-internal.h $(srcdir)/context.h \
|
|
$(srcdir)/getdns/getdns_extra.h getdns/getdns.h config.h $(srcdir)/types-internal.h \
|
|
$(srcdir)/extension/libmini_event.h config.h $(srcdir)/util/mini_event.h $(srcdir)/util/rbtree.h \
|
|
$(srcdir)/types-internal.h $(srcdir)/getdns_error.h
|
|
dict.lo dict.o: $(srcdir)/dict.c $(srcdir)/types-internal.h getdns/getdns.h $(srcdir)/getdns/getdns_extra.h \
|
|
getdns/getdns.h $(srcdir)/util-internal.h $(srcdir)/context.h config.h \
|
|
$(srcdir)/extension/libmini_event.h config.h $(srcdir)/util/mini_event.h $(srcdir)/util/rbtree.h \
|
|
$(srcdir)/types-internal.h $(srcdir)/dict.h $(srcdir)/rr-dict.h $(srcdir)/const-info.h
|
|
dnssec.lo dnssec.o: $(srcdir)/dnssec.c getdns/getdns.h config.h $(srcdir)/context.h \
|
|
$(srcdir)/getdns/getdns_extra.h getdns/getdns.h $(srcdir)/types-internal.h \
|
|
$(srcdir)/extension/libmini_event.h config.h $(srcdir)/util/mini_event.h $(srcdir)/util/rbtree.h \
|
|
$(srcdir)/types-internal.h $(srcdir)/util-internal.h $(srcdir)/dnssec.h $(srcdir)/rr-dict.h
|
|
general.lo general.o: $(srcdir)/general.c config.h $(srcdir)/context.h getdns/getdns.h \
|
|
$(srcdir)/getdns/getdns_extra.h getdns/getdns.h $(srcdir)/types-internal.h \
|
|
$(srcdir)/extension/libmini_event.h config.h $(srcdir)/util/mini_event.h $(srcdir)/util/rbtree.h \
|
|
$(srcdir)/types-internal.h $(srcdir)/util-internal.h $(srcdir)/dnssec.h $(srcdir)/stub.h
|
|
getdns_error.lo getdns_error.o: $(srcdir)/getdns_error.c getdns/getdns.h $(srcdir)/const-info.h
|
|
list.lo list.o: $(srcdir)/list.c $(srcdir)/types-internal.h getdns/getdns.h $(srcdir)/getdns/getdns_extra.h \
|
|
getdns/getdns.h $(srcdir)/util-internal.h $(srcdir)/context.h config.h \
|
|
$(srcdir)/extension/libmini_event.h config.h $(srcdir)/util/mini_event.h $(srcdir)/util/rbtree.h \
|
|
$(srcdir)/types-internal.h $(srcdir)/list.h
|
|
request-internal.lo request-internal.o: $(srcdir)/request-internal.c config.h $(srcdir)/types-internal.h \
|
|
getdns/getdns.h $(srcdir)/getdns/getdns_extra.h getdns/getdns.h $(srcdir)/util-internal.h \
|
|
$(srcdir)/context.h $(srcdir)/extension/libmini_event.h config.h $(srcdir)/util/mini_event.h \
|
|
$(srcdir)/util/rbtree.h $(srcdir)/types-internal.h $(srcdir)/gldns/rrdef.h
|
|
rr-dict.lo rr-dict.o: $(srcdir)/rr-dict.c $(srcdir)/rr-dict.h getdns/getdns.h $(srcdir)/types-internal.h \
|
|
$(srcdir)/getdns/getdns_extra.h getdns/getdns.h $(srcdir)/context.h config.h \
|
|
$(srcdir)/extension/libmini_event.h config.h $(srcdir)/util/mini_event.h $(srcdir)/util/rbtree.h \
|
|
$(srcdir)/types-internal.h $(srcdir)/dict.h
|
|
stub.lo stub.o: $(srcdir)/stub.c config.h $(srcdir)/stub.h getdns/getdns.h $(srcdir)/types-internal.h \
|
|
$(srcdir)/getdns/getdns_extra.h getdns/getdns.h $(srcdir)/gldns/rrdef.h $(srcdir)/gldns/str2wire.h \
|
|
$(srcdir)/gldns/rrdef.h $(srcdir)/gldns/gbuffer.h $(srcdir)/gldns/pkthdr.h $(srcdir)/context.h \
|
|
$(srcdir)/extension/libmini_event.h config.h $(srcdir)/util/mini_event.h $(srcdir)/util/rbtree.h \
|
|
$(srcdir)/types-internal.h $(srcdir)/util-internal.h $(srcdir)/general.h
|
|
sync.lo sync.o: $(srcdir)/sync.c getdns/getdns.h config.h $(srcdir)/context.h $(srcdir)/getdns/getdns_extra.h \
|
|
getdns/getdns.h $(srcdir)/types-internal.h $(srcdir)/extension/libmini_event.h config.h \
|
|
$(srcdir)/util/mini_event.h $(srcdir)/util/rbtree.h $(srcdir)/types-internal.h $(srcdir)/general.h \
|
|
$(srcdir)/util-internal.h $(srcdir)/dnssec.h $(srcdir)/stub.h $(srcdir)/gldns/wire2str.h
|
|
util-internal.lo util-internal.o: $(srcdir)/util-internal.c getdns/getdns.h $(srcdir)/dict.h $(srcdir)/types-internal.h \
|
|
$(srcdir)/getdns/getdns_extra.h getdns/getdns.h $(srcdir)/list.h $(srcdir)/util-internal.h $(srcdir)/context.h \
|
|
config.h $(srcdir)/extension/libmini_event.h config.h $(srcdir)/util/mini_event.h \
|
|
$(srcdir)/util/rbtree.h $(srcdir)/types-internal.h $(srcdir)/rr-dict.h
|
|
gbuffer.lo gbuffer.o: $(srcdir)/gldns/gbuffer.c config.h $(srcdir)/gldns/gbuffer.h
|
|
keyraw.lo keyraw.o: $(srcdir)/gldns/keyraw.c config.h $(srcdir)/gldns/keyraw.h $(srcdir)/gldns/rrdef.h
|
|
parse.lo parse.o: $(srcdir)/gldns/parse.c config.h $(srcdir)/gldns/parse.h $(srcdir)/gldns/parseutil.h \
|
|
$(srcdir)/gldns/gbuffer.h
|
|
parseutil.lo parseutil.o: $(srcdir)/gldns/parseutil.c config.h $(srcdir)/gldns/parseutil.h
|
|
rrdef.lo rrdef.o: $(srcdir)/gldns/rrdef.c config.h $(srcdir)/gldns/rrdef.h $(srcdir)/gldns/parseutil.h
|
|
str2wire.lo str2wire.o: $(srcdir)/gldns/str2wire.c config.h $(srcdir)/gldns/str2wire.h $(srcdir)/gldns/rrdef.h \
|
|
$(srcdir)/gldns/wire2str.h $(srcdir)/gldns/gbuffer.h $(srcdir)/gldns/parse.h $(srcdir)/gldns/parseutil.h
|
|
wire2str.lo wire2str.o: $(srcdir)/gldns/wire2str.c config.h $(srcdir)/gldns/wire2str.h $(srcdir)/gldns/str2wire.h \
|
|
$(srcdir)/gldns/rrdef.h $(srcdir)/gldns/pkthdr.h $(srcdir)/gldns/parseutil.h $(srcdir)/gldns/gbuffer.h \
|
|
$(srcdir)/gldns/keyraw.h
|
|
strlcpy.lo strlcpy.o: $(srcdir)/compat/strlcpy.c config.h
|
|
mini_event.lo mini_event.o: $(srcdir)/util/mini_event.c config.h $(srcdir)/util/mini_event.h $(srcdir)/util/rbtree.h \
|
|
$(srcdir)/util/fptr_wlist.h
|
|
rbtree.lo rbtree.o: $(srcdir)/util/rbtree.c config.h $(srcdir)/util/log.h $(srcdir)/util/fptr_wlist.h \
|
|
$(srcdir)/util/rbtree.h
|
|
libmini_event.lo libmini_event.o: $(srcdir)/extension/libmini_event.c $(srcdir)/extension/libmini_event.h \
|
|
config.h $(srcdir)/util/mini_event.h $(srcdir)/util/rbtree.h $(srcdir)/types-internal.h \
|
|
getdns/getdns.h $(srcdir)/getdns/getdns_extra.h getdns/getdns.h $(srcdir)/context.h config.h \
|
|
$(srcdir)/types-internal.h $(srcdir)/extension/libmini_event.h
|