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-2018 OpenVPN Inc <sales@openvpn.net>
9#  Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com>
10#
11
12include $(top_srcdir)/build/ltrc.inc
13
14MAINTAINERCLEANFILES = \
15	$(srcdir)/Makefile.in
16
17EXTRA_DIST = \
18	openvpn.vcxproj \
19	openvpn.vcxproj.filters \
20	openvpn.manifest
21
22AM_CPPFLAGS = \
23	-I$(top_srcdir)/include \
24	-I$(top_srcdir)/src/compat
25
26AM_CFLAGS = \
27	$(TAP_CFLAGS) \
28	$(OPTIONAL_CRYPTO_CFLAGS) \
29	$(OPTIONAL_LZO_CFLAGS) \
30	$(OPTIONAL_LZ4_CFLAGS) \
31	$(OPTIONAL_PKCS11_HELPER_CFLAGS) \
32	$(OPTIONAL_INOTIFY_CFLAGS) \
33	-DPLUGIN_LIBDIR=\"${plugindir}\"
34
35if WIN32
36# we want unicode entry point but not the macro
37AM_CFLAGS += -municode -UUNICODE
38endif
39
40sbin_PROGRAMS = openvpn
41
42openvpn_SOURCES = \
43	argv.c argv.h \
44	auth_token.c auth_token.h \
45	base64.c base64.h \
46	basic.h \
47	buffer.c buffer.h \
48	circ_list.h \
49	clinat.c clinat.h \
50	common.h \
51	comp.c comp.h compstub.c \
52	comp-lz4.c comp-lz4.h \
53	crypto.c crypto.h crypto_backend.h \
54	crypto_openssl.c crypto_openssl.h \
55	crypto_mbedtls.c crypto_mbedtls.h \
56	dhcp.c dhcp.h \
57	env_set.c env_set.h \
58	errlevel.h \
59	error.c error.h \
60	event.c event.h \
61	fdmisc.c fdmisc.h \
62	forward.c forward.h \
63	fragment.c fragment.h \
64	gremlin.c gremlin.h \
65	helper.c helper.h \
66	httpdigest.c httpdigest.h \
67	lladdr.c lladdr.h \
68	init.c init.h \
69	integer.h \
70	interval.c interval.h \
71	list.c list.h \
72	lzo.c lzo.h \
73	manage.c manage.h \
74	mbuf.c mbuf.h \
75	memdbg.h \
76	misc.c misc.h \
77	platform.c platform.h \
78	console.c console.h console_builtin.c console_systemd.c \
79	mroute.c mroute.h \
80	mss.c mss.h \
81	mstats.c mstats.h \
82	mtcp.c mtcp.h \
83	mtu.c mtu.h \
84	mudp.c mudp.h \
85	multi.c multi.h \
86	networking_iproute2.c networking_iproute2.h \
87	networking_sitnl.c networking_sitnl.h \
88	networking.h \
89	ntlm.c ntlm.h \
90	occ.c occ.h \
91	openssl_compat.h \
92	pkcs11.c pkcs11.h pkcs11_backend.h \
93	pkcs11_openssl.c \
94	pkcs11_mbedtls.c \
95	openvpn.c openvpn.h \
96	options.c options.h \
97	otime.c otime.h \
98	packet_id.c packet_id.h \
99	perf.c perf.h \
100	pf.c pf.h \
101	ping.c ping.h \
102	plugin.c plugin.h \
103	pool.c pool.h \
104	proto.c proto.h \
105	proxy.c proxy.h \
106	ps.c ps.h \
107	push.c push.h \
108	pushlist.h \
109	reliable.c reliable.h \
110	route.c route.h \
111	run_command.c run_command.h \
112	schedule.c schedule.h \
113	session_id.c session_id.h \
114	shaper.c shaper.h \
115	sig.c sig.h \
116	socket.c socket.h \
117	socks.c socks.h \
118	ssl.c ssl.h  ssl_backend.h \
119	ssl_openssl.c ssl_openssl.h \
120	ssl_mbedtls.c ssl_mbedtls.h \
121	ssl_ncp.c ssl_ncp.h \
122	ssl_util.c ssl_util.h \
123	ssl_common.h \
124	ssl_verify.c ssl_verify.h ssl_verify_backend.h \
125	ssl_verify_openssl.c ssl_verify_openssl.h \
126	ssl_verify_mbedtls.c ssl_verify_mbedtls.h \
127	status.c status.h \
128	syshead.h \
129	tls_crypt.c tls_crypt.h \
130	tun.c tun.h \
131	vlan.c vlan.h \
132	win32.h win32.c \
133	win32-util.h win32-util.c \
134	cryptoapi.h cryptoapi.c
135openvpn_LDADD = \
136	$(top_builddir)/src/compat/libcompat.la \
137	$(SOCKETS_LIBS) \
138	$(OPTIONAL_LZO_LIBS) \
139	$(OPTIONAL_LZ4_LIBS) \
140	$(OPTIONAL_PKCS11_HELPER_LIBS) \
141	$(OPTIONAL_CRYPTO_LIBS) \
142	$(OPTIONAL_SELINUX_LIBS) \
143	$(OPTIONAL_SYSTEMD_LIBS) \
144	$(OPTIONAL_DL_LIBS) \
145	$(OPTIONAL_INOTIFY_LIBS)
146if WIN32
147openvpn_SOURCES += openvpn_win32_resources.rc block_dns.c block_dns.h ring_buffer.h
148openvpn_LDADD += -lgdi32 -lws2_32 -lwininet -lcrypt32 -liphlpapi -lwinmm -lfwpuclnt -lrpcrt4 -lncrypt -lsetupapi
149endif
150