1# Aircrack-ng
2#
3# Copyright (C) 2017 Joseph Benden <joe@benden.us>
4#
5# Autotool support was written by: Joseph Benden <joe@benden.us>
6#
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 2 of the License, or
10# (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15# GNU General Public License for more details.
16#
17# You should have received a copy of the GNU General Public License
18# along with this program; if not, write to the Free Software
19# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20#
21# In addition, as a special exception, the copyright holders give
22# permission to link the code of portions of this program with the
23# OpenSSL library under certain conditions as described in each
24# individual source file, and distribute linked combinations
25# including the two.
26#
27# You must obey the GNU General Public License in all respects
28# for all of the code used other than OpenSSL.
29#
30# If you modify file(s) with this exception, you may extend this
31# exception to your dnl version of the file(s), but you are not obligated
32# to do so.
33#
34# If you dnl do not wish to do so, delete this exception statement from your
35# version.
36#
37# If you delete this exception statement from all source files in the
38# program, then also delete it here.
39
40SUBDIRS = aircrack-crypto aircrack-util include aircrack-osdep
41
42AM_CPPFLAGS = -I$(top_srcdir) \
43              -I$(top_srcdir)/src/include \
44              $(CRYPTO_INCLUDES)
45
46SRC_LINECOUNT	= linecount.cpp
47LIBLINECOUNT_LIBS = liblinecount.la
48
49SRC_PTW		= aircrack-ptw-lib.c
50LIBPTW_LIBS	= libptw.la
51
52SRC_AC		= aircrack-ng.c
53SRC_AC_ALL  = aircrack-ng.c
54
55SRC_AD		= airdecap-ng.c
56SRC_PF		= packetforge-ng.c
57SRC_AR		= aireplay-ng.c
58SRC_ADU		= airodump-ng.c
59
60SRC_AT		= airtun-ng.c
61SRC_IV		= ivstools.c
62SRC_AS		= airserv-ng.c
63SRC_WS		= wesside-ng.c
64SRC_BS		= besside-ng.c
65SRC_BC		= besside-ng-crawler.c
66SRC_AL		= airolib-ng.c
67
68LIBCOW_LIBS	= libcow.la
69SRC_COW		= cowpatty.c
70
71SRC_ES		= easside-ng.c
72SRC_BUDDY	= buddy-ng.c
73SRC_MI		= makeivs-ng.c
74SRC_AB		= airbase-ng.c
75SRC_AU		= airdecloak-ng.c
76SRC_TT		= tkiptun-ng.c
77SRC_WC		= wpaclean.c
78SRC_AV		= airventriloquist-ng.c
79
80SRC_ACLIB	= crypto.c $(SSEC_INT) uniqueiv.c session.c
81LIBAC	= libaclib.la
82LIBAC_LIBS = libaclib.la
83
84AC_COMMON = crypto.c uniqueiv.c session.c
85
86if LIBGCRYPT
87SRC_AC          += sha1-git.c
88SRC_AC_ALL              += sha1-git.c
89SRC_ACLIB               += sha1-git.c
90SRC_AD          += sha1-git.c
91SRC_PF          += sha1-git.c
92SRC_IV          += sha1-git.c
93SRC_AR          += sha1-git.c
94SRC_ADU         += sha1-git.c
95SRC_AT          += sha1-git.c
96SRC_AB          += sha1-git.c
97SRC_AL          += sha1-git.c
98SRC_WS          += sha1-git.c
99SRC_TT          += sha1-git.c
100SRC_BS          += sha1-git.c
101SRC_AV          += sha1-git.c
102endif
103
104LIBAIRCRACK_CRYPTO = aircrack-crypto/libaircrack-crypto.la
105LIBAIRCRACK_CRYPTO_LIBS = -Laircrack-crypto -laircrack-crypto
106
107LIBAIRCRACK_CRYPTO_X86_AVX2 = aircrack-crypto/libaircrack-crypto-x86-avx2.la
108LIBAIRCRACK_CRYPTO_X86_AVX2_LIBS = -Laircrack-crypto -laircrack-crypto-x86-avx2
109
110LIBAIRCRACK_CRYPTO_X86_AVX = aircrack-crypto/libaircrack-crypto-x86-avx.la
111LIBAIRCRACK_CRYPTO_X86_AVX_LIBS = -Laircrack-crypto -laircrack-crypto-x86-avx
112
113LIBAIRCRACK_CRYPTO_X86_SSE2 = aircrack-crypto/libaircrack-crypto-x86-sse2.la
114LIBAIRCRACK_CRYPTO_X86_SSE2_LIBS = -Laircrack-crypto -laircrack-crypto-x86-sse2
115
116LIBAIRCRACK_UTIL = aircrack-util/libaircrack-util.la
117LIBAIRCRACK_UTIL_LIBS = -Laircrack-util -laircrack-util
118
119LIBAIRCRACK_OSDEP		= aircrack-osdep/libaircrack-osdep.la
120LIBAIRCRACK_OSDEP_LIBS	= -Laircrack-osdep -laircrack-osdep
121if CYGWIN
122LIBAIRCRACK_OSDEP_LIBS	+= -liphlpapi -lsetupapi -luuid
123endif
124
125COMMON_CFLAGS = $(LIBAC_CFLAGS) $(PTHREAD_CFLAGS) $(CRYPTO_CFLAGS) $(ZLIB_CFLAGS)
126COMMON_LDADD = $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(ZLIB_LIBS)
127
128bin_PROGRAMS = aircrack-ng \
129               airdecap-ng \
130               packetforge-ng \
131               ivstools \
132               kstats \
133               makeivs-ng \
134               airdecloak-ng
135
136if EXPERIMENTAL
137if HAVE_PCAP
138bin_PROGRAMS += besside-ng-crawler
139endif
140endif
141
142bin_PROGRAMS += wpaclean
143
144sbin_PROGRAMS = airbase-ng \
145                aireplay-ng \
146                airodump-ng \
147                airserv-ng \
148                airtun-ng
149
150if HAVE_SQLITE3
151bin_PROGRAMS += airolib-ng
152endif
153
154if EXPERIMENTAL
155bin_PROGRAMS += buddy-ng
156
157sbin_PROGRAMS += airventriloquist-ng
158
159if HAVE_AIRPCAP_OR_PCAP
160sbin_PROGRAMS += besside-ng \
161                 easside-ng \
162                 tkiptun-ng \
163                 wesside-ng
164endif
165endif
166
167aircrack_ng_SOURCES = $(SRC_AC_ALL) $(SRC_LINECOUNT) $(LIBAIRCRACK_UTIL)
168aircrack_ng_CFLAGS = $(COMMON_CFLAGS) $(SQLITE3_CFLAGS) $(LIBPTW_CFLAGS)
169aircrack_ng_LDADD = $(LIBAIRCRACK_UTIL_LIBS) $(LIBAC_LIBS) $(SQLITE3_LDFLAGS) $(SQLITE3_LIBS) $(LIBPTW_LIBS) $(COMMON_LDADD) $(CRYPTO_LIBS) $(HWLOC_LIBS)
170
171if STATIC_BUILD
172aircrack_ng_CFLAGS += -DDYNAMIC=0
173aircrack_ng_LDADD += $(LIBAIRCRACK_CRYPTO@SIMD_SUFFIX@_LIBS)
174else
175aircrack_ng_LDFLAGS = -rdynamic
176endif
177
178airdecap_ng_SOURCES = $(SRC_AD) $(LIBAIRCRACK_UTIL)
179airdecap_ng_CFLAGS = $(COMMON_CFLAGS)
180airdecap_ng_LDADD = $(COMMON_LDADD) $(LIBAC_LIBS) $(LIBAIRCRACK_UTIL_LIBS) $(CRYPTO_LIBS)
181
182packetforge_ng_SOURCES = $(SRC_PF) $(LIBAIRCRACK_UTIL)
183packetforge_ng_CFLAGS = $(COMMON_CFLAGS)
184packetforge_ng_LDADD = $(COMMON_LDADD) $(LIBAC_LIBS) $(LIBAIRCRACK_UTIL_LIBS) $(CRYPTO_LIBS)
185
186aireplay_ng_SOURCES = $(SRC_AR) $(LIBAIRCRACK_OSDEP) $(LIBAIRCRACK_UTIL)
187aireplay_ng_CFLAGS = $(COMMON_CFLAGS) $(LIBNL_CFLAGS)
188aireplay_ng_LDADD = $(COMMON_LDADD) $(LIBAIRCRACK_OSDEP_LIBS) $(LIBAC_LIBS) $(AIRPCAP_LIBS) $(LIBAIRCRACK_UTIL_LIBS) $(CRYPTO_LIBS)
189
190airodump_ng_SOURCES = $(SRC_ADU) $(LIBAIRCRACK_OSDEP) $(LIBMCS) $(LIBAIRCRACK_UTIL)
191airodump_ng_CFLAGS = $(COMMON_CFLAGS) $(PCRE_CFLAGS) $(LIBNL_CFLAGS)
192airodump_ng_LDADD = $(COMMON_LDADD) $(PCRE_LIBS) $(LIBAIRCRACK_OSDEP_LIBS) $(LIBAC_LIBS) $(AIRPCAP_LIBS) $(LIBAIRCRACK_UTIL_LIBS) $(CRYPTO_LIBS)
193
194airserv_ng_SOURCES = $(SRC_AS) $(LIBAIRCRACK_OSDEP) $(LIBAIRCRACK_UTIL)
195airserv_ng_CFLAGS = $(COMMON_CFLAGS) $(LIBNL_CFLAGS)
196airserv_ng_LDADD = $(COMMON_LDADD) $(LIBAIRCRACK_OSDEP_LIBS) $(LIBAC_LIBS) $(AIRPCAP_LIBS) $(LIBAIRCRACK_UTIL_LIBS) $(CRYPTO_LIBS)
197
198airtun_ng_SOURCES = $(SRC_AT) $(LIBAIRCRACK_OSDEP) $(LIBAIRCRACK_UTIL)
199airtun_ng_CFLAGS = $(COMMON_CFLAGS) $(LIBNL_CFLAGS)
200airtun_ng_LDADD = $(COMMON_LDADD) $(LIBAIRCRACK_OSDEP_LIBS) $(LIBAC_LIBS) $(AIRPCAP_LIBS) $(LIBAIRCRACK_UTIL_LIBS) $(CRYPTO_LIBS)
201
202ivstools_SOURCES = $(SRC_IV) $(LIBAIRCRACK_UTIL)
203ivstools_CFLAGS = $(COMMON_CFLAGS)
204ivstools_LDADD = $(COMMON_LDADD) $(LIBAC_LIBS) $(LIBAIRCRACK_UTIL_LIBS) $(CRYPTO_LIBS)
205
206kstats_SOURCES = kstats.c
207kstats_CFLAGS = $(LIBAC_CFLAGS) $(PTHREAD_CFLAGS)
208kstats_LDADD = $(COMMON_LDADD) $(LIBAC_LIBS)
209
210wesside_ng_SOURCES = $(SRC_WS) $(LIBAIRCRACK_OSDEP) $(LIBAIRCRACK_UTIL)
211wesside_ng_CFLAGS = $(COMMON_CFLAGS) $(LIBNL_CFLAGS)
212wesside_ng_LDADD = $(COMMON_LDADD) $(LIBAIRCRACK_OSDEP_LIBS) $(LIBAC_LIBS) $(LIBPTW_LIBS) $(AIRPCAP_LIBS) $(LIBAIRCRACK_UTIL_LIBS) $(CRYPTO_LIBS)
213
214easside_ng_SOURCES = $(SRC_ES) $(LIBAIRCRACK_OSDEP) $(LIBAIRCRACK_UTIL)
215easside_ng_CFLAGS = $(COMMON_CFLAGS) $(LIBNL_CFLAGS)
216easside_ng_LDADD = $(COMMON_LDADD) $(LIBAIRCRACK_OSDEP_LIBS) $(LIBAC_LIBS) $(AIRPCAP_LIBS) $(LIBAIRCRACK_UTIL_LIBS) $(CRYPTO_LIBS)
217
218buddy_ng_SOURCES = $(SRC_BUDDY) $(LIBAIRCRACK_UTIL)
219buddy_ng_CFLAGS = $(LIBAC_CFLAGS) $(PTHREAD_CFLAGS)
220buddy_ng_LDADD = $(COMMON_LDADD) $(LIBAC_LIBS) $(LIBAIRCRACK_UTIL_LIBS) $(CRYPTO_LIBS)
221
222besside_ng_SOURCES = $(SRC_BS) $(LIBAIRCRACK_OSDEP) $(LIBAIRCRACK_UTIL)
223besside_ng_CFLAGS = $(COMMON_CFLAGS) $(PCRE_CFLAGS) $(LIBNL_CFLAGS)
224besside_ng_LDADD = $(COMMON_LDADD) $(PCRE_LIBS) $(LIBAIRCRACK_OSDEP_LIBS) $(LIBAC_LIBS) $(LIBPTW_LIBS) $(AIRPCAP_LIBS) $(LIBAIRCRACK_UTIL_LIBS) $(CRYPTO_LIBS)
225
226besside_ng_crawler_SOURCES = $(SRC_BC)
227besside_ng_crawler_CFLAGS = $(COMMON_CFLAGS) $(PCAP_CFLAGS)
228besside_ng_crawler_LDADD = $(COMMON_LDADD) $(PCAP_LIBS) $(LIBAC_LIBS) $(CRYPTO_LIBS)
229
230makeivs_ng_SOURCES = $(SRC_MI) $(LIBAIRCRACK_UTIL)
231makeivs_ng_CFLAGS = $(COMMON_CFLAGS)
232makeivs_ng_LDADD = $(COMMON_LDADD) $(LIBAC_LIBS) $(LIBAIRCRACK_UTIL_LIBS) $(CRYPTO_LIBS)
233
234airolib_ng_SOURCES = $(SRC_AL) $(LIBCOW) $(LIBAIRCRACK_UTIL)
235airolib_ng_CFLAGS = $(COMMON_CFLAGS) $(SQLITE3_CFLAGS) -DHAVE_REGEXP
236airolib_ng_LDADD = $(COMMON_LDADD) $(SQLITE3_LDFLAGS) $(SQLITE3_LIBS) $(LIBAC_LIBS) $(LIBCOW_LIBS) $(LIBAIRCRACK_UTIL_LIBS) $(CRYPTO_LIBS)
237
238airbase_ng_SOURCES = $(SRC_AB) $(LIBAIRCRACK_OSDEP) $(LIBAIRCRACK_UTIL)
239airbase_ng_CFLAGS = $(COMMON_CFLAGS) $(LIBNL_CFLAGS)
240airbase_ng_LDADD = $(COMMON_LDADD) $(LIBAIRCRACK_OSDEP_LIBS) $(LIBAC_LIBS) $(AIRPCAP_LIBS) $(LIBAIRCRACK_UTIL_LIBS) $(CRYPTO_LIBS)
241
242airdecloak_ng_SOURCES = $(SRC_AU) $(LIBAIRCRACK_OSDEP) $(LIBAIRCRACK_UTIL)
243airdecloak_ng_CFLAGS = $(COMMON_CFLAGS)
244airdecloak_ng_LDADD = $(COMMON_LDADD) $(LIBAIRCRACK_OSDEP_LIBS) $(LIBAC_LIBS) $(AIRPCAP_LIBS) $(LIBAIRCRACK_UTIL_LIBS) $(CRYPTO_LIBS)
245
246tkiptun_ng_SOURCES = $(SRC_TT) $(LIBAIRCRACK_OSDEP) $(LIBAIRCRACK_UTIL)
247tkiptun_ng_CFLAGS = $(COMMON_CFLAGS) $(LIBNL_CFLAGS)
248tkiptun_ng_LDADD = $(COMMON_LDADD) $(LIBAIRCRACK_OSDEP_LIBS) $(LIBAC_LIBS) $(AIRPCAP_LIBS) $(LIBAIRCRACK_UTIL_LIBS) $(CRYPTO_LIBS)
249
250wpaclean_SOURCES = $(SRC_WC) $(LIBAIRCRACK_OSDEP)
251wpaclean_CFLAGS = $(COMMON_CFLAGS) $(LIBNL_CFLAGS) $(LIBAIRCRACK_UTIL_CFLAGS)
252wpaclean_LDADD = $(COMMON_LDADD) $(LIBAIRCRACK_OSDEP_LIBS) $(LIBAC_LIBS) $(AIRPCAP_LIBS) $(LIBAIRCRACK_UTIL_LIBS) $(CRYPTO_LIBS)
253
254airventriloquist_ng_SOURCES = $(SRC_AV) $(LIBAIRCRACK_OSDEP) $(LIBAIRCRACK_UTIL)
255airventriloquist_ng_CFLAGS = $(COMMON_CFLAGS) $(LIBNL_CFLAGS)
256airventriloquist_ng_LDADD = $(COMMON_LDADD) $(LIBAIRCRACK_OSDEP_LIBS) $(LIBAC_LIBS) $(AIRPCAP_LIBS) $(LIBAIRCRACK_UTIL_LIBS) $(CRYPTO_LIBS)
257
258libaclib_la_SOURCES = $(SRC_ACLIB)
259libaclib_la_CFLAGS = $(COMMON_CFLAGS) $(LIBAIRCRACK_UTIL_CFLAGS)
260libaclib_la_LIBADD = $(LIBAIRCRACK_UTIL_LIBS)
261if !STATIC_CRYPTO
262libaclib_la_LIBADD += $(LIBAIRCRACK_UTIL_LIBS)
263endif
264
265libcow_la_SOURCES = $(SRC_COW)
266libcow_la_CFLAGS = $(COMMON_CFLAGS) $(LIBCOW_CFLAGS)
267if !STATIC_CRYPTO
268libcow_la_LIBADD = $(COMMON_LDADD)
269endif
270
271libptw_la_SOURCES = $(SRC_PTW)
272libptw_la_CFLAGS = $(COMMON_CFLAGS)
273if !STATIC_CRYPTO
274libptw_la_LIBADD = $(COMMON_LDADD)
275endif
276
277noinst_LTLIBRARIES = libaclib.la libptw.la libcow.la
278
279EXTRA_DIST = wpaclean.c \
280             buddy-ng.c \
281             aircrack-ng.h \
282             version.h \
283             airventriloquist-ng.h \
284             airdecloak-ng.h \
285             airserv-ng.c \
286             besside-ng.c \
287             wkp-frame.h \
288             airolib-ng.c \
289             aircrack-ptw-lib.h \
290             makeivs-ng.c \
291             easside-ng.c \
292             crctable.h \
293             airdecap-ng.c \
294             airodump-ng.h \
295             airbase-ng.c \
296             besside-ng-crawler.c \
297             tkiptun-ng.c \
298             kstats.c \
299             easside.h \
300             aireplay-ng.c \
301             ivstools.c \
302             pcap.h \
303             aircrack-ng.c \
304             airodump-ng.c \
305             crypto.c \
306             airdecloak-ng.c \
307             packetforge-ng.c \
308             airventriloquist-ng.c \
309             uniqueiv.c \
310             gcrypt-openssl-wrapper.h \
311             uniqueiv.h \
312             wesside-ng.c \
313             airtun-ng.c \
314             linecount.h \
315             aircrack-ptw-lib.c \
316             crypto.h \
317             sha1-git.c \
318             sha1-git.h \
319             cowpatty.c \
320             cowpatty.h \
321             session.c \
322             session.h \
323			 defs.h
324
325
326@CODE_COVERAGE_RULES@
327