1#
2#  OpenVPN -- An application to securely tunnel IP networks
3#             over a single UDP port, with support for SSL/TLS-based
4#             session authentication and key exchange,
5#             packet encryption, packet authentication, and
6#             packet compression.
7#
8#  Copyright (C) 2002-2022 OpenVPN Inc <sales@openvpn.net>
9#  Copyright (C) 2010-2022 David Sommerseth <dazo@eurephia.org>
10#  Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com>
11#
12#  This program is free software; you can redistribute it and/or modify
13#  it under the terms of the GNU General Public License version 2
14#  as published by the Free Software Foundation.
15#
16#  This program is distributed in the hope that it will be useful,
17#  but WITHOUT ANY WARRANTY; without even the implied warranty of
18#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19#  GNU General Public License for more details.
20#
21#  You should have received a copy of the GNU General Public License along
22#  with this program; if not, write to the Free Software Foundation, Inc.,
23#  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24#
25
26ACLOCAL_AMFLAGS = -I m4
27
28MAINTAINERCLEANFILES = \
29	config.log config.status \
30	$(srcdir)/Makefile.in \
31	$(srcdir)/config.h.in $(srcdir)/config.h.in~ $(srcdir)/configure \
32	$(srcdir)/install-sh $(srcdir)/ltmain.sh $(srcdir)/missing \
33	$(srcdir)/m4/libtool.m4 $(srcdir)/m4/lt~obsolete.m4 \
34	$(srcdir)/m4/ltoptions.m4 $(srcdir)/m4/ltsugar.m4 \
35	$(srcdir)/m4/ltversion.m4 \
36	$(srcdir)/depcomp $(srcdir)/aclocal.m4 \
37	$(srcdir)/config.guess $(srcdir)/config.sub
38
39CLEANFILES = \
40	config-version.h tests/t_client.sh
41
42EXTRA_DIST = \
43	contrib \
44	debug
45
46.PHONY: config-version.h doxygen
47
48if GIT_CHECKOUT
49BUILT_SOURCES = \
50	config-version.h
51endif
52
53SUBDIRS = build distro include src sample doc tests
54
55dist_doc_DATA = \
56	README \
57	README.IPv6 \
58	README.mbedtls \
59	Changes.rst \
60	COPYRIGHT.GPL \
61	COPYING
62
63dist_noinst_DATA = \
64	.gitignore \
65	.gitattributes \
66	PORTS \
67	README.IPv6 TODO.IPv6 \
68	README.mbedtls \
69	openvpn.sln
70
71dist_noinst_HEADERS = \
72	config-msvc.h \
73	config-msvc-version.h.in
74
75if WIN32
76rootdir=$(prefix)
77root_DATA = version.sh
78endif
79
80config-version.h:
81	@CONFIGURE_GIT_CHFILES="`GIT_DIR=\"$(top_srcdir)/.git\" $(GIT) diff-files --name-status -r --ignore-submodules --quiet -- || echo \"+\"`"; \
82	CONFIGURE_GIT_UNCOMMITTED="`GIT_DIR=\"$(top_srcdir)/.git\" $(GIT) diff-index --cached  --quiet --ignore-submodules HEAD || echo \"*\"`"; \
83	CONFIGURE_GIT_REVISION="`GIT_DIR=\"$(top_srcdir)/.git\" $(GIT) rev-parse --symbolic-full-name HEAD | cut -d/ -f3-`/`GIT_DIR=\"$(top_srcdir)/.git\" $(GIT) rev-parse --short=16 HEAD`"; \
84	echo "#define CONFIGURE_GIT_REVISION \"$${CONFIGURE_GIT_REVISION}\"" > config-version.h.tmp; \
85	echo "#define CONFIGURE_GIT_FLAGS \"$${CONFIGURE_GIT_CHFILES}$${CONFIGURE_GIT_UNCOMMITTED}\"" >> config-version.h.tmp
86
87	@if ! [ -f config-version.h ] || ! cmp -s config-version.h.tmp config-version.h; then \
88		echo "replacing config-version.h"; \
89		mv config-version.h.tmp config-version.h; \
90	else \
91		rm -f config-version.h.tmp; \
92	fi
93
94doxygen:
95	$(MAKE) -C doc/doxygen doxygen
96