Remove duplicate library API version number from Makefile.am
[platform/upstream/openconnect.git] / Makefile.am
1
2 SUBDIRS =
3 if BUILD_WWW
4 SUBDIRS += www
5 endif
6 if USE_NLS
7 SUBDIRS += po
8 endif
9
10 lib_LTLIBRARIES = libopenconnect.la
11 sbin_PROGRAMS = openconnect
12 man8_MANS = openconnect.8
13
14 AM_CPPFLAGS = -DLOCALEDIR="\"$(localedir)\""
15 openconnect_SOURCES = xml.c main.c dtls.c cstp.c mainloop.c tun.c
16
17 openconnect_CFLAGS = $(OPENSSL_CFLAGS) $(LIBXML2_CFLAGS) $(LIBPROXY_CFLAGS) $(ZLIB_CFLAGS)
18 openconnect_LDADD = libopenconnect.la $(OPENSSL_LIBS) $(LIBXML2_LIBS) $(LIBPROXY_LIBS) $(ZLIB_LIBS) $(LIBINTL)
19
20 library_srcs = ssl.c http.c auth.c library.c compat.c
21 libopenconnect_la_SOURCES = version.c $(library_srcs)
22 libopenconnect_la_CFLAGS = $(OPENSSL_CFLAGS) $(LIBXML2_CFLAGS) $(LIBPROXY_CFLAGS)
23 libopenconnect_la_LIBADD = $(OPENSSL_LIBS) $(LIBXML2_LIBS) $(LIBPROXY_LIBS) $(LIBINTL)
24 libopenconnect_la_LDFLAGS = -version-number @APIMAJOR@:@APIMINOR@
25 noinst_HEADERS = openconnect-internal.h openconnect.h
26 include_HEADERS = openconnect.h
27 if HAVE_SYMBOL_VERSIONING
28 libopenconnect_la_LDFLAGS += -Wl,@VERSION_SCRIPT_ARG@,libopenconnect.map
29 libopenconnect_la_DEPENDENCIES = libopenconnect.map
30 endif
31
32 pkgconfigdir = $(libdir)/pkgconfig
33 pkgconfig_DATA = openconnect.pc
34
35 EXTRA_DIST = version.sh openconnect.8 COPYING.LGPL libopenconnect.map
36
37 DISTCLEANFILES = $(pkgconfig_DATA)
38
39 main.o: version.c
40 version.c: $(library_srcs) $(openconnect_SOURCES) Makefile.am configure.ac \
41            openconnect.h openconnect-internal.h version.sh @GITVERSIONDEPS@
42         @cd $(srcdir) && ./version.sh $@
43
44 tmp-dist: uncommitted-check
45         $(MAKE) $(AM_MAKEFLAGS) VERSION=$(patsubst v%,%,$(shell git describe --tags)) DISTHOOK=0 dist
46
47 uncommitted-check:
48         @if ! git update-index --refresh --unmerged || \
49             ! git diff-index --name-only --exit-code HEAD; then \
50                 echo "*** ERROR: Uncommitted changes in above files"; exit 1; fi
51
52 DISTHOOK=1
53 dist-hook: uncommitted-check
54         @if [ $(DISTHOOK) = 1 ]; then \
55             if ! git rev-parse --verify v$(VERSION) &> /dev/null; then \
56                 echo "*** ERROR: Version v$(VERSION) is not tagged"; exit 1; fi ; \
57             if ! git diff --name-only --exit-code v$(VERSION) HEAD > /dev/null; then \
58                 echo "*** ERROR: Git checkout not at version v$(VERSION)"; exit 1; fi ; \
59         fi
60
61 sign-dist: dist
62         @for a in $(DIST_ARCHIVES); do \
63                 gpg --default-key 67E2F359 --detach-sign -a $$a ; \
64         done
65
66 tag: uncommitted-check
67         @if git rev-parse --verify v$(VERSION) &> /dev/null; then \
68                 echo "*** ERROR: Version v$(VERSION) is already tagged"; exit 1; fi
69         @sed 's/AC_INIT.*/AC_INIT(openconnect, $(VERSION))/' -i configure.ac
70         @sed 's/^v=.*/v="v$(VERSION)"/' -i version.sh
71         @( echo '1,/<!-- latest-release-start -->/p' ;\
72            echo '/<!-- latest-release-end -->/,$$p' ;\
73            echo  '/<!-- latest-release-start -->/a\' ;\
74            echo  'The latest release is <a href="ftp://ftp.infradead.org/pub/openconnect/openconnect-$(VERSION).tar.gz">OpenConnect v$(VERSION)</a>\' ;\
75            echo  '<i>(<a href="ftp://ftp.infradead.org/pub/openconnect/openconnect-$(VERSION).tar.gz.asc">PGP signature</a>)</i>,\' ;\
76            echo 'released on $(shell date +%Y-%m-%d) with the following changelog:</p>\' ;\
77            sed '0,/<b>OpenConnect HEAD/d;/<\/ul><br\/>/,$$d;s/$$/\\/' www/changelog.xml ;\
78            echo '     </ul>' ) | \
79          sed -n -f - -i www/download.xml
80         @( echo "s/Last modified: .*/Last modified: $(shell date)/" ;\
81            echo '/  <li><b>OpenConnect HEAD/a\' ;\
82            echo '     <ul>\' ;\
83            echo '       <li><i>No changelog entries yet</i></li>\';\
84            echo '     </ul><br/>\' ;  echo '  </li>\' ;\
85            echo '  <li><b><a href="ftp://ftp.infradead.org/pub/openconnect/openconnect-$(VERSION).tar.gz">OpenConnect v$(VERSION)</a></b>\' ;\
86            echo '     <i>(<a href="ftp://ftp.infradead.org/pub/openconnect/openconnect-$(VERSION).tar.gz.asc">PGP signature</a>)</i> &#8212; $(shell date +%Y-%m-%d)' ) | \
87                 sed -f - -i www/changelog.xml
88 # stupid syntax highlighting '
89         @git commit -s -m "Tag version $(VERSION)" configure.ac version.sh www/download.xml www/changelog.xml
90         @git tag v$(VERSION)
91         @./autogen.sh
92
93 update-translations:
94         @if ! git diff-index --name-only --exit-code HEAD -- po/; then \
95                 echo "*** ERROR: Uncommitted changes in above files"; exit 1; fi
96         @tx pull -af
97         @git commit -s -m "Update translations from Transifex" -- po/
98
99 upload-pot:
100         @make -C po openconnect.pot && tx push -s