Home | History | Annotate | Download | only in c-ares
      1 AUTOMAKE_OPTIONS = foreign nostdinc
      2 
      3 ACLOCAL_AMFLAGS = -I m4
      4 
      5 # Specify our include paths here, and do it relative to $(top_srcdir) and
      6 # $(top_builddir), to ensure that these paths which belong to the library
      7 # being currently built and tested are searched before the library which
      8 # might possibly already be installed in the system.
      9 #
     10 # When using the low-level hard-hacking memory leak tracking code from
     11 # libcurl the generated curl/curlbuild.h file must also be reachable.
     12 # Using the libcurl lowlevel code from within c-ares library is ugly and
     13 # only works when c-ares is built and linked with a similarly debug-build
     14 # libcurl, but we do this anyway for convenience.
     15 #
     16 # $(top_builddir)/../include/curl for generated curlbuild.h included from curl.h
     17 # $(top_builddir)/../include is for libcurl's generated curl/curlbuild.h file
     18 # $(top_srcdir)/../include is for libcurl's external include files
     19 # $(top_builddir)/../lib is for libcurl's generated lib/curl_config.h file
     20 # $(top_srcdir)/../lib is for libcurl's lib/setup.h and other "private" files
     21 # $(top_builddir) is for c-ares's generated ares_config.h file
     22 # $(top_srcdir) is for c-ares's ares_setup.h and other "c-ares-private" files
     23 
     24 if CURLDEBUG
     25 INCLUDES = -I$(top_builddir)/../include/curl \
     26            -I$(top_builddir)/../include      \
     27            -I$(top_srcdir)/../include        \
     28            -I$(top_builddir)/../lib          \
     29            -I$(top_srcdir)/../lib            \
     30            -I$(top_builddir)                 \
     31            -I$(top_srcdir)
     32 else
     33 INCLUDES = -I$(top_builddir) \
     34            -I$(top_srcdir)
     35 endif
     36 
     37 lib_LTLIBRARIES = libcares.la
     38 
     39 man_MANS = $(MANPAGES)
     40 
     41 MSVCFILES = vc/vc6aws.dsw vc/acountry/vc6acountry.dsp vc/adig/vc6adig.dsp \
     42  vc/ahost/vc6ahost.dsp vc/cares/vc6cares.dsp vc/cares/vc6cares.dsw
     43 
     44 if CURLDEBUG
     45 PROGS =
     46 else
     47 PROGS = ahost adig acountry
     48 endif
     49 
     50 noinst_PROGRAMS =$(PROGS)
     51 
     52 # adig and ahost are just sample programs and thus not mentioned with the
     53 # regular sources and headers
     54 EXTRA_DIST = AUTHORS CHANGES README.cares Makefile.inc Makefile.dj	   \
     55  Makefile.m32 Makefile.netware Makefile.msvc Makefile.Watcom $(man_MANS)   \
     56  config-win32.h RELEASE-NOTES libcares.pc.in buildconf get_ver.awk maketgz \
     57  TODO ares_build.h.in $(PDFPAGES) cares.rc README.msvc $(MSVCFILES)	   \
     58  $(CSOURCES) $(HHEADERS) config-dos.h acountry.1 adig.1 ahost.1
     59 
     60 CLEANFILES = $(PDFPAGES) $(HTMLPAGES)
     61 
     62 DISTCLEANFILES = ares_build.h
     63 
     64 pkgconfigdir = $(libdir)/pkgconfig
     65 pkgconfig_DATA = libcares.pc
     66 
     67 VER=-version-info 2:0:0
     68 # This flag accepts an argument of the form current[:revision[:age]]. So,
     69 # passing -version-info 3:12:1 sets current to 3, revision to 12, and age to
     70 # 1.
     71 #
     72 # If either revision or age are omitted, they default to 0. Also note that age
     73 # must be less than or equal to the current interface number.
     74 #
     75 # Here are a set of rules to help you update your library version information: 
     76 #
     77 # 1.Start with version information of 0:0:0 for each libtool library.
     78 #
     79 # 2.Update the version information only immediately before a public release of
     80 # your software. More frequent updates are unnecessary, and only guarantee
     81 # that the current interface number gets larger faster.
     82 #
     83 # 3.If the library source code has changed at all since the last update, then
     84 # increment revision (c:r+1:a)
     85 #
     86 # 4.If any interfaces have been added, removed, or changed since the last
     87 # update, increment current, and set revision to 0. (c+1:r=0:a)
     88 #
     89 # 5.If any interfaces have been added since the last public release, then
     90 # increment age. (c:r:a+1)
     91 #
     92 # 6.If any interfaces have been removed since the last public release, then
     93 # set age to 0. (c:r:a=0)
     94 #
     95 
     96 if NO_UNDEFINED
     97 # The -no-undefined flag is crucial for this to build fine on some platforms
     98 UNDEF = -no-undefined
     99 endif
    100 
    101 libcares_la_LDFLAGS = $(UNDEF) $(VER)
    102 
    103 # Add -Werror if defined
    104 CFLAGS += @CARES_CFLAG_EXTRAS@
    105 
    106 # Makefile.inc provides the CSOURCES and HHEADERS defines
    107 include Makefile.inc
    108 
    109 libcares_la_SOURCES = $(CSOURCES) $(HHEADERS)
    110 
    111 # where to install the c-ares headers
    112 libcares_ladir = $(includedir)
    113 # what headers to install on 'make install':
    114 libcares_la_HEADERS = ares.h ares_version.h ares_dns.h \
    115 	ares_build.h ares_rules.h
    116 
    117 ahost_SOURCES = ahost.c $(SAMPLESOURCES) $(SAMPLEHEADERS)
    118 ahost_LDADD = $(top_builddir)/libcares.la
    119 ahost_CFLAGS = $(AM_CFLAGS)
    120 
    121 adig_SOURCES = adig.c $(SAMPLESOURCES) $(SAMPLEHEADERS)
    122 adig_LDADD = $(top_builddir)/libcares.la
    123 adig_CFLAGS = $(AM_CFLAGS)
    124 
    125 acountry_SOURCES = acountry.c $(SAMPLESOURCES) $(SAMPLEHEADERS)
    126 acountry_LDADD = $(top_builddir)/libcares.la
    127 acountry_CFLAGS = $(AM_CFLAGS)
    128 
    129 SOURCEDMANDIR = man3
    130 SOURCEDMANPAGES = ares_init.3
    131 
    132 clean-local: clean-sourced-manpages
    133 
    134 clean-sourced-manpages:
    135 	@srcdmandir='$(SOURCEDMANDIR)'; \
    136 	echo "rm -rf $(top_builddir)/$$srcdmandir"; \
    137 	rm -rf $(top_builddir)/$$srcdmandir
    138 
    139 sourced-manpages: clean-sourced-manpages
    140 	@srcdmandir='$(SOURCEDMANDIR)'; \
    141 	srcdmanfiles='$(SOURCEDMANPAGES)'; \
    142 	mkdir $(top_builddir)/$$srcdmandir; \
    143 	for file in $$srcdmanfiles; do \
    144 	  if test -f $(top_srcdir)/$$file; then \
    145 	    echo "cp $(top_srcdir)/$$file $(top_builddir)/$$srcdmandir/$$file"; \
    146 	    cp $(top_srcdir)/$$file $(top_builddir)/$$srcdmandir/$$file; \
    147 	  fi; \
    148 	done
    149 
    150 MAN2HTML = roffit --mandir=. < $< >$@
    151 
    152 SUFFIXES = .3 .html
    153 
    154 html: sourced-manpages $(HTMLPAGES)
    155 
    156 .3.html:
    157 	$(MAN2HTML)
    158 
    159 pdf: sourced-manpages $(PDFPAGES)
    160 
    161 .3.pdf:
    162 	@(foo=`echo $@ | sed -e 's/\.[0-9]$$//g'`; \
    163 	groff -Tps -man $< >$$foo.ps; \
    164 	ps2pdf $$foo.ps $@; \
    165 	rm $$foo.ps; \
    166 	echo "converted $< to $@")
    167 
    168 # Make files named *.dist replace the file without .dist extension
    169 dist-hook:
    170 	find $(distdir) -name "*.dist" -exec rm {} \;
    171 	(distit=`find $(srcdir) -name "*.dist"`; \
    172 	for file in $$distit; do \
    173 	  strip=`echo $$file | sed -e s/^$(srcdir)// -e s/\.dist//`; \
    174 	  cp $$file $(distdir)$$strip; \
    175 	done)
    176