]> git.mxchange.org Git - simgear.git/blob - 3rdparty/udns/Makefile.in
Initial commit for a DNS service resolver
[simgear.git] / 3rdparty / udns / Makefile.in
1 #! /usr/bin/make -rf
2 # Makefile.in
3 # libudns Makefile
4 #
5 # Copyright (C) 2005  Michael Tokarev <mjt@corpit.ru>
6 # This file is part of UDNS library, an async DNS stub resolver.
7 #
8 # This library is free software; you can redistribute it and/or
9 # modify it under the terms of the GNU Lesser General Public
10 # License as published by the Free Software Foundation; either
11 # version 2.1 of the License, or (at your option) any later version.
12 #
13 # This library is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16 # Lesser General Public License for more details.
17 #
18 # You should have received a copy of the GNU Lesser General Public
19 # License along with this library, in file named COPYING.LGPL; if not,
20 # write to the Free Software Foundation, Inc., 59 Temple Place,
21 # Suite 330, Boston, MA  02111-1307  USA
22
23 NAME   = udns
24 VERS   = 0.4
25 SOVER  = 0
26
27 SRCS   = udns_dn.c udns_dntosp.c udns_parse.c udns_resolver.c udns_init.c \
28         udns_misc.c udns_XtoX.c \
29         udns_rr_a.c udns_rr_ptr.c udns_rr_mx.c udns_rr_txt.c udns_bl.c \
30         udns_rr_srv.c udns_rr_naptr.c udns_codes.c udns_jran.c
31 USRCS  = dnsget.c rblcheck.c ex-rdns.c
32 DIST   = COPYING.LGPL udns.h udns.3 dnsget.1 rblcheck.1 $(SRCS) $(USRCS) \
33          NEWS TODO NOTES Makefile.in configure configure.lib \
34          inet_XtoX.c getopt.c
35
36 OBJS   = $(SRCS:.c=.o) $(GEN:.c=.o)
37 LIB    = lib$(NAME).a
38 LIBFL  = -L. -l$(NAME)
39
40 SOBJS  = $(OBJS:.o=.lo)
41 SOLIB  = lib$(NAME)_s.so
42 SOLIBV = lib$(NAME).so.$(SOVER)
43 SOLIBFL= -L. -l$(NAME)_s
44
45 UTILS   = $(USRCS:.c=)
46 UOBJS   = $(USRCS:.c=.o)
47 SOUTILS = $(USRCS:.c=_s)
48
49 NAMEPFX = $(NAME)-$(VERS)
50
51 CC = @CC@
52 CFLAGS = @CFLAGS@
53 CDEFS = @CDEFS@
54 LD = @LD@
55 LDFLAGS = @LDFLAGS@
56 LIBS = @LIBS@
57 LDSHARED = $(LD) -shared
58 PICFLAGS = -fPIC
59 AWK = awk
60 TAR = tar
61
62 all: static
63
64 .SUFFIXES: .c .o .lo
65
66 static: $(LIB) $(UTILS)
67 staticlib: $(LIB)
68 $(LIB): $(OBJS)
69         -rm -f $@
70         $(AR) rv $@ $(OBJS)
71 .c.o:
72         $(CC) $(CFLAGS) $(CDEFS) -c $<
73
74 shared: $(SOLIBV) $(SOUTILS)
75 sharedlib: $(SOLIBV)
76
77 $(SOLIBV): $(SOBJS)
78         $(LDSHARED) -Wl,--soname,$(SOLIBV) -o $@ $(SOBJS) $(LDFLAGS) $(LIBS)
79 $(SOLIB): $(SOLIBV)
80         rm -f $@
81         ln -s $(SOLIBV) $@
82 .c.lo:
83         $(CC) $(CFLAGS) $(PICFLAGS) $(CDEFS) -o $@ -c $<
84
85 # udns_codes.c is generated from udns.h
86 udns_codes.c: udns.h
87         @echo Generating $@
88         @set -e; exec >$@.tmp; \
89         set T type C class R rcode; \
90         echo "/* Automatically generated. */"; \
91         echo "#include \"udns.h\""; \
92         while [ "$$1" ]; do \
93          echo; \
94          echo "const struct dns_nameval dns_$${2}tab[] = {"; \
95          $(AWK) "/^  DNS_$${1}_[A-Z0-9_]+[      ]*=/ \
96           { printf \" {%s,\\\"%s\\\"},\\n\", \$$1, substr(\$$1,7) }" \
97           udns.h ; \
98          echo " {0,0}};"; \
99          echo "const char *dns_$${2}name(enum dns_$${2} code) {"; \
100          echo " static char nm[20];"; \
101          echo " switch(code) {"; \
102          $(AWK) "BEGIN{i=0} \
103            /^  DNS_$${1}_[A-Z0-9_]+[    ]*=/ \
104            {printf \" case %s: return dns_$${2}tab[%d].name;\\n\",\$$1,i++}\
105            " udns.h ; \
106          echo " }"; \
107          echo " return _dns_format_code(nm,\"$$2\",code);"; \
108          echo "}"; \
109          shift 2; \
110         done
111         @mv $@.tmp $@
112
113 udns.3.html: udns.3
114         groff -man -Thtml udns.3 > $@.tmp
115         mv $@.tmp $@
116
117 dist: $(NAMEPFX).tar.gz
118 $(NAMEPFX).tar.gz: $(DIST)
119         $(TAR) -cv -f $@ -z --transform 's|^|$(NAMEPFX)/|' $(DIST)
120
121 subdist:
122         cp -p $(DIST) $(TARGET)/
123
124 clean:
125         rm -f $(OBJS)
126         rm -f $(SOBJS)
127         rm -f $(UOBJS)
128         rm -f config.log
129 distclean: clean
130         rm -f $(LIB) $(SOLIB) $(SOLIBV) udns.3.html
131         rm -f $(UTILS) $(SOUTILS)
132         rm -f config.status config.h Makefile
133
134
135 Makefile: configure configure.lib Makefile.in
136         ./configure
137         @echo
138         @echo Please rerun make >&2
139         @exit 1
140
141 .PHONY: all static staticlib shared sharedlib dist clean distclean subdist \
142   depend dep deps
143
144 depend dep deps: $(SRCS) $(USRC)
145         @echo Generating deps for:
146         @echo \ $(SRCS)
147         @echo \ $(USRCS)
148         @sed '/^# depend/q' Makefile.in > Makefile.tmp
149         @set -e; \
150         for f in $(SRCS) $(USRCS); do \
151          echo $${f%.c}.o $${f%.c}.lo: $$f \
152           `sed -n 's/^#[        ]*include[      ]*"\(.*\)".*/\1/p' $$f`; \
153         done >> Makefile.tmp; \
154         for f in $(USRCS:.c=.o); do \
155          echo "$${f%.?}: $$f \$$(LIB)"; \
156          echo " \$$(LD) \$$(LDLAGS) -o \$$@ $$f \$$(LIBFL) \$$(LIBS)"; \
157          echo "$${f%.?}_s: $$f \$$(SOLIB)"; \
158          echo " \$$(LD) \$$(LDFLAGS) -o \$$@ $$f \$$(SOLIBFL)"; \
159         done >> Makefile.tmp ; \
160         if cmp Makefile.tmp Makefile.in >/dev/null 2>&1 ; then \
161          echo Makefile.in unchanged; rm -f Makefile.tmp; \
162         else \
163          echo Updating Makfile.in; mv -f Makefile.tmp Makefile.in ; \
164         fi
165
166 # depend
167 udns_dn.o udns_dn.lo: udns_dn.c udns.h
168 udns_dntosp.o udns_dntosp.lo: udns_dntosp.c udns.h
169 udns_parse.o udns_parse.lo: udns_parse.c udns.h
170 udns_resolver.o udns_resolver.lo: udns_resolver.c config.h udns.h
171 udns_init.o udns_init.lo: udns_init.c config.h udns.h
172 udns_misc.o udns_misc.lo: udns_misc.c udns.h
173 udns_XtoX.o udns_XtoX.lo: udns_XtoX.c config.h udns.h inet_XtoX.c
174 udns_rr_a.o udns_rr_a.lo: udns_rr_a.c udns.h
175 udns_rr_ptr.o udns_rr_ptr.lo: udns_rr_ptr.c udns.h
176 udns_rr_mx.o udns_rr_mx.lo: udns_rr_mx.c udns.h
177 udns_rr_txt.o udns_rr_txt.lo: udns_rr_txt.c udns.h
178 udns_bl.o udns_bl.lo: udns_bl.c udns.h
179 udns_rr_srv.o udns_rr_srv.lo: udns_rr_srv.c udns.h
180 udns_rr_naptr.o udns_rr_naptr.lo: udns_rr_naptr.c udns.h
181 udns_codes.o udns_codes.lo: udns_codes.c udns.h
182 udns_jran.o udns_jran.lo: udns_jran.c udns.h
183 dnsget.o dnsget.lo: dnsget.c config.h udns.h getopt.c
184 rblcheck.o rblcheck.lo: rblcheck.c config.h udns.h getopt.c
185 ex-rdns.o ex-rdns.lo: ex-rdns.c udns.h
186 dnsget: dnsget.o $(LIB)
187         $(LD) $(LDLAGS) -o $@ dnsget.o $(LIBFL) $(LIBS)
188 dnsget_s: dnsget.o $(SOLIB)
189         $(LD) $(LDFLAGS) -o $@ dnsget.o $(SOLIBFL)
190 rblcheck: rblcheck.o $(LIB)
191         $(LD) $(LDLAGS) -o $@ rblcheck.o $(LIBFL) $(LIBS)
192 rblcheck_s: rblcheck.o $(SOLIB)
193         $(LD) $(LDFLAGS) -o $@ rblcheck.o $(SOLIBFL)
194 ex-rdns: ex-rdns.o $(LIB)
195         $(LD) $(LDLAGS) -o $@ ex-rdns.o $(LIBFL) $(LIBS)
196 ex-rdns_s: ex-rdns.o $(SOLIB)
197         $(LD) $(LDFLAGS) -o $@ ex-rdns.o $(SOLIBFL)