New idn-int.h for portable fixed size integers.
[libidn.git] / Makefile.am
blobade19fb1691dfbd3e49338afa0e931c08533e464
1 ## Process this file with automake to produce Makefile.in
2 # Copyright (C) 2002, 2003 Simon Josefsson.
4 # This file is part of GNU Libidn.
6 # GNU Libidn is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU Lesser General Public License as
8 # published by the Free Software Foundation; either version 2.1 of
9 # the License, or (at your option) any later version.
11 # GNU Libidn is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU Lesser General Public License for more details.
16 # You should have received a copy of the GNU Lesser General Public
17 # License along with GNU Libidn; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
20 DIST_SUBDIRS = reference
21 SUBDIRS = @GTKDOC@
23 ACLOCAL_AMFLAGS = -I . -I m4
25 EXTRA_DIST = FAQ libidn.pc.in \
26         m4/iconv.m4 m4/ax_create_stdint_h.m4 m4/ac_compile_check_sizeof.m4 \
27         gen-stringprep-tables.pl rfc3454.txt \
28         gen-unicode-tables.pl UnicodeData-3.2.0.txt LineBreak-3.2.0.txt \
29         SpecialCasing-3.2.0.txt CaseFolding-3.2.0.txt \
30         CompositionExclusions-3.2.0.txt \
31         gdoc libidn.html libidn.ps libidn.pdf lgpl.texi \
32         libc/README libc/Makefile libc/Versions libc/configure \
33         libc/example.c libc/getaddrinfo.c libc/libc.patch libc/netdb.h \
34         contrib/README contrib/idn-python/README contrib/idn-python/Makefile \
35         contrib/idn-python/idn.c contrib/idn-python/test.py \
36         contrib/web/idn.php \
37         contrib/java/README contrib/java/autogen.sh \
38         contrib/java/configure.ac contrib/java/Makefile.am \
39         contrib/java/ExampleIDNA.java contrib/java/IDNA.java \
40         contrib/java/IDNA.c \
41         contrib/doxygen/Doxyfile.in contrib/doxygen/Doxyfile.orig \
42         contrib/doxygen/gdoc2doxygen \
43         getopt.h getopt.c getopt1.c strdup.c memset.c
45 clean-local:
46         rm -f idn_cmd.c idn_cmd.h
48 # Library
50 pkgconfigdir = $(libdir)/pkgconfig
51 pkgconfig_DATA = libidn.pc
53 lib_LTLIBRARIES = libidn.la
55 include_HEADERS = stringprep.h stringprep_generic.h stringprep_nameprep.h \
56         stringprep_kerberos5.h stringprep_xmpp.h stringprep_plain.h \
57         stringprep_iscsi.h idna.h punycode.h
59 libidn_la_SOURCES = gunicomp.h gunidecomp.h internal.h \
60         stringprep.c nfkc.c version.c toutf8.c \
61         stringprep_generic.c profiles.c \
62         punycode.h punycode.c \
63         idna.h idna.c
64 libidn_la_LIBADD = @LTLIBOBJS@ @LTLIBICONV@
65 libidn_la_LDFLAGS = -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
67 nfkc.c: gunicomp.h gunidecomp.h
69 gunicomp.h gunidecomp.h: gen-unicode-tables.pl UnicodeData-3.2.0.txt LineBreak-3.2.0.txt SpecialCasing-3.2.0.txt CaseFolding-3.2.0.txt CompositionExclusions-3.2.0.txt
70         $(PERL) $(srcdir)/gen-unicode-tables.pl -decomp 3.2 UnicodeData-3.2.0.txt LineBreak-3.2.0.txt SpecialCasing-3.2.0.txt CaseFolding-3.2.0.txt CompositionExclusions-3.2.0.txt
72 stringprep_generic.c: rfc3454.txt gen-stringprep-tables.pl
73         $(PERL) $(srcdir)/gen-stringprep-tables.pl rfc3454.txt
75 # Applications
77 bin_PROGRAMS = idn
79 idn_SOURCES = idn.c idn_cmd.c idn_cmd.h
80 idn_LDADD = @LIBOBJS@ libidn.la
82 idn.c: idn_cmd.c idn_cmd.h
84 idn_cmd.c idn_cmd.h: idn.ggo
85         -gengetopt --input $^ --file-name idn_cmd
87 dist_man_MANS = idn.1
89 idn.1: idn.c
90         $(HELP2MAN) --name="Internationalized Domain Names command line tool" \
91                 --output=$@ $(top_builddir)/idn
93 # Test suite
95 tests = tst_stringprep tst_nfkc tst_punycode tst_idna
97 check_PROGRAMS = $(tests)
99 TESTS = $(tests)
101 INCLUDES = -I$(top_srcdir)
102 LDADD = libidn.la
104 noinst_PROGRAMS = $(tests) example example2 example3 example4
106 # Lisp interface
108 dist_lisp_LISP = punycode.el idna.el
109 ELCFILES=
110 elc-stamp:
112 # Documentation
114 info_TEXINFOS = libidn.texi
115 pdf_TEXINFOS = libidn.texi
116 ps_TEXINFOS = libidn.texi
118 libidn.html: libidn.texi
119         $(MAKEINFO) --html --no-split --number-sections $^
121 libidn_TEXINFOS = fdl.texi \
122         example.c.texi example2.c.texi example3.c.texi example4.c.texi \
123         libidn-api-version.texi libidn-api-stringprep.texi \
124         libidn-api-punycode.texi libidn-api-idna.texi
126 %.c.texi: %.c
127         sed -e 's/{/@{/g' -e 's/}/@}/g' < $< > $@
129 libidn-api-version.texi: version.c
130         $(PERL) $(srcdir)/gdoc -texinfo $^ > $@
132 libidn-api-stringprep.texi: stringprep.c nfkc.c toutf8.c reference/dummy.c
133         $(PERL) $(srcdir)/gdoc -texinfo $^ > $@
135 libidn-api-punycode.texi: punycode.c
136         $(PERL) $(srcdir)/gdoc -texinfo $^ > $@
138 libidn-api-idna.texi: idna.c
139         $(PERL) $(srcdir)/gdoc -texinfo $^ > $@
141 # Maintainer targets
143 ChangeLog:
144         test ! -f .cvsusers || \
145         cvs2cl --FSF --usermap .cvsusers \
146         -I "ChangeLog|.cvsignore|.cvsusers|autogen.sh|contrib|draft.*xml"
148 indent:
149         indent $(SOURCES)
151 htmldir = ../www-$(PACKAGE)
152 tag = $(PACKAGE)-`echo $(VERSION) | sed 's/\./-/g'`
154 release:
155         cvs upd -p -r HEAD NEWS > /dev/null
156         if cvs upd -p -r $(tag) NEWS > /dev/null; then false else true; fi
157         rm -f ChangeLog && cvs upd ChangeLog
158         cvs commit
159         rm -f ChangeLog
160         $(MAKE) ChangeLog distcheck
161         cvs commit -m "" ChangeLog
162         rm -f $(distdir).tar.gz.asc
163         gpg -a --sign --detach $(distdir).tar.gz
164         gpg --verify $(distdir).tar.gz.asc
165         scp $(distdir).tar.gz* gnudist.gnu.org:~alpha/gnu/$(PACKAGE)/
166         test -d $(htmldir) && cp -v $(PACKAGE).{ps,pdf,html} $(htmldir)/
167         test -d $(htmldir)/reference && \
168                 cp -v reference/*.html $(htmldir)/reference/
169         test -d $(htmldir)/doxygen && test -d contrib/doxygen/html && \
170                 cp -v contrib/doxygen/html/* $(htmldir)/doxygen/
171         test -d $(htmldir) && cd $(htmldir) && cvs commit -m "Update." \
172                 $(PACKAGE).{ps,pdf,html} reference/*.html
173         cvs rtag $(tag) $(PACKAGE)