SUBDIRS = if BUILD_WWW SUBDIRS += www endif if USE_NLS SUBDIRS += po endif lib_LTLIBRARIES = libopenconnect.la sbin_PROGRAMS = openconnect man8_MANS = openconnect.8 AM_CPPFLAGS = -DLOCALEDIR="\"$(localedir)\"" openconnect_SOURCES = xml.c main.c dtls.c cstp.c mainloop.c tun.c openconnect_CFLAGS = $(SSL_CFLAGS) $(DTLS_SSL_CFLAGS) $(LIBXML2_CFLAGS) $(LIBPROXY_CFLAGS) $(ZLIB_CFLAGS) $(LIBSTOKEN_CFLAGS) openconnect_LDADD = libopenconnect.la $(SSL_LIBS) $(DTLS_SSL_LIBS) $(LIBXML2_LIBS) $(LIBPROXY_LIBS) $(ZLIB_LIBS) $(LIBINTL) $(LIBSTOKEN_LIBS) library_srcs = ssl.c http.c auth.c library.c compat.c lib_srcs_gnutls = gnutls.c gnutls_pkcs12.c gnutls_tpm.c lib_srcs_openssl = openssl.c POTFILES = $(openconnect_SOURCES) $(lib_srcs_openssl) $(lib_srcs_gnutls) $(library_srcs) if OPENCONNECT_GNUTLS library_srcs += $(lib_srcs_gnutls) endif if OPENCONNECT_OPENSSL library_srcs += $(lib_srcs_openssl) endif libopenconnect_la_SOURCES = version.c $(library_srcs) libopenconnect_la_CFLAGS = $(SSL_CFLAGS) $(LIBXML2_CFLAGS) $(LIBPROXY_CFLAGS) $(P11KIT_CFLAGS) $(TSS_CFLAGS) $(LIBSTOKEN_CFLAGS) libopenconnect_la_LIBADD = $(SSL_LIBS) $(LIBXML2_LIBS) $(LIBPROXY_LIBS) $(LIBINTL) $(P11KIT_LIBS) $(TSS_LIBS) $(LIBSTOKEN_LIBS) if OPENBSD_LIBTOOL # OpenBSD's libtool doesn't have -version-number, but its -version-info arg # does what GNU libtool's -version-number does. Which arguably is what the # GNU -version-info arg ought to do too. I hate libtool. LT_VER_ARG = -version-info else LT_VER_ARG = -version-number endif libopenconnect_la_LDFLAGS = $(LT_VER_ARG) @APIMAJOR@:@APIMINOR@ noinst_HEADERS = openconnect-internal.h openconnect.h gnutls.h include_HEADERS = openconnect.h if HAVE_SYMBOL_VERSIONING libopenconnect_la_LDFLAGS += -Wl,@VERSION_SCRIPT_ARG@,libopenconnect.map libopenconnect_la_DEPENDENCIES = libopenconnect.map endif pkgconfig_DATA = openconnect.pc EXTRA_DIST = version.sh COPYING.LGPL $(lib_srcs_openssl) $(lib_srcs_gnutls) Android.mk DISTCLEANFILES = $(pkgconfig_DATA) main.o: version.c version.c: $(library_srcs) $(lib_openssl_srcs) $(lib_gnutls_srcs) \ $(openconnect_SOURCES) Makefile.am configure.ac \ openconnect.h openconnect-internal.h version.sh @GITVERSIONDEPS@ @cd $(srcdir) && ./version.sh $(abs_builddir)/version.c tmp-dist: uncommitted-check $(MAKE) $(AM_MAKEFLAGS) VERSION=$(patsubst v%,%,$(shell git describe --tags)) DISTHOOK=0 dist uncommitted-check: @if ! git update-index --refresh --unmerged || \ ! git diff-index --name-only --exit-code HEAD; then \ echo "*** ERROR: Uncommitted changes in above files"; exit 1; fi DISTHOOK=1 dist-hook: uncommitted-check @if [ $(DISTHOOK) = 1 ]; then \ if ! git rev-parse --verify v$(VERSION) &> /dev/null; then \ echo "*** ERROR: Version v$(VERSION) is not tagged"; exit 1; fi ; \ if ! git diff --name-only --exit-code v$(VERSION) HEAD > /dev/null; then \ echo "*** ERROR: Git checkout not at version v$(VERSION)"; exit 1; fi ; \ fi sign-dist: dist @for a in $(DIST_ARCHIVES); do \ gpg --default-key 67E2F359 --detach-sign -a $$a ; \ done tag: uncommitted-check @if git rev-parse --verify v$(VERSION) &> /dev/null; then \ echo "*** ERROR: Version v$(VERSION) is already tagged"; exit 1; fi @sed 's/AC_INIT.*/AC_INIT(openconnect, $(VERSION))/' -i $(srcdir)/configure.ac @sed 's/^v=.*/v="v$(VERSION)"/' -i $(srcdir)/version.sh @( echo '1,//p' ;\ echo '//,$$p' ;\ echo '//a\' ;\ echo 'The latest release is OpenConnect v$(VERSION)\' ;\ echo '(PGP signature),\' ;\ echo 'released on $(shell date +%Y-%m-%d) with the following changelog:

\' ;\ sed '0,/OpenConnect HEAD/d;/<\/ul>/,$$d;s/$$/\\/' $(srcdir)/www/changelog.xml ;\ echo ' ' ) | \ sed -n -f - -i $(srcdir)/www/download.xml @( echo "s/Last modified: .*/Last modified: $(shell date)/" ;\ echo '/
  • OpenConnect HEAD/a\' ;\ echo '
      \' ;\ echo '
    • No changelog entries yet
    • \';\ echo '

    \' ; echo '
  • \' ;\ echo '
  • OpenConnect v$(VERSION)\' ;\ echo ' (PGP signature) — $(shell date +%Y-%m-%d)' ) | \ sed -f - -i $(srcdir)/www/changelog.xml # stupid syntax highlighting ' @cd $(srcdir) && git commit -s -m "Tag version $(VERSION)" configure.ac version.sh www/download.xml www/changelog.xml @git tag v$(VERSION) @cd $(srcdir) && ./autogen.sh update-translations: po/$(PACKAGE).pot @cd $(top_srcdir); if ! git diff-index --name-only --exit-code HEAD -- po/; then \ echo "*** ERROR: Uncommitted changes in above files"; exit 1; \ else \ for a in po/*.po; do \ msgmerge -q -N -F $$a $(abs_builddir)/po/$(PACKAGE).pot | sed '0,/^#:/d' > $$a.old ; \ done && \ tx pull -af && \ for a in po/*.po; do \ msgmerge -q -N -F $$a $(abs_builddir)/po/$(PACKAGE).pot > $$a.new ; \ sed '0,/^#:/d' $$a.new > $$a.new.cmp ; \ if ! git ls-tree --name-only HEAD $$a | grep -q $$a; then \ echo New file $$a ; \ git add $$a ; \ elif ! diff -u $$a.old $$a.new.cmp; then \ echo New changes for $$a; \ mv $$a.new $$a; \ else \ git checkout -f HEAD $$a ; \ fi ; \ rm -f $$a.old $$a.new $$a.new.cmp ; \ done && \ ls po/*.po | sed 's%^po/\(.*\)\.po%\1%' > po/LINGUAS ; \ if ! git update-index -q --refresh --unmerged || \ ! git diff-index --name-only --exit-code HEAD -- po/ >/dev/null; then \ git commit -s -m "Update translations from Transifex" -- po/ ; \ else \ echo No changes to commit ; \ fi ; \ fi upload-pot: po/$(PACKAGE).pot @if [ ${abs_top_builddir} != $(abs_top_srcdir) ]; then \ ln -sf ${abs_top_srcdir}/.tx .tx; fi @tx push -s po/$(PACKAGE).pot: $(POTFILES) Makefile @echo "Regenerating $@" ; rm -f $@ && \ xgettext --directory=$(top_srcdir) --from-code=UTF-8 \ --add-comments --keyword=_ --keyword=N_ \ --package-name="@PACKAGE@" --package-version="@VERSION@" \ --msgid-bugs-address=openconnect-devel@lists.infradead.org \ -o $@ $(POTFILES) Android.mk: Makefile.am @for a in openconnect_SOURCES library_srcs lib_srcs_openssl noinst_HEADERS; do \ FILES=`grep "^$$a = " $(top_srcdir)/Makefile.am`; \ sed "s/^$$a = .*/$$FILES/" -i $(top_srcdir)/Android.mk; \ done