]>
Commit | Line | Data |
---|---|---|
6fc6879b JM |
1 | ALL=eap_example |
2 | ||
3 | all: $(ALL) | |
4 | ||
5 | ifndef CC | |
6 | CC=gcc | |
7 | endif | |
8 | ||
9 | ifndef CFLAGS | |
10 | CFLAGS = -MMD -O2 -Wall -g | |
11 | endif | |
12 | ||
13 | CONFIG_TLS=openssl | |
14 | #CONFIG_TLS=internal | |
15 | #CONFIG_INTERNAL_LIBTOMMATH=y | |
c91231c9 | 16 | #CONFIG_TLS=gnutls |
6fc6879b JM |
17 | |
18 | ||
19 | CFLAGS += -I. | |
20 | CFLAGS += -I../src | |
6fc6879b | 21 | CFLAGS += -I../src/utils |
6fc6879b JM |
22 | |
23 | # at least for now, need to include config_ssid.h and config_blob.h from | |
24 | # wpa_supplicant directory | |
25 | CFLAGS += -I../wpa_supplicant | |
26 | ||
27 | ||
28 | OBJS_both += ../src/utils/common.o | |
29 | OBJS_both += ../src/utils/os_unix.o | |
30 | OBJS_both += ../src/utils/wpa_debug.o | |
31 | OBJS_both += ../src/utils/base64.o | |
32 | OBJS_both += ../src/utils/wpabuf.o | |
6fc6879b | 33 | OBJS_both += ../src/crypto/rc4.o |
bd4e2895 | 34 | OBJS_both += ../src/crypto/md4-internal.o |
657f0381 | 35 | OBJS_both += ../src/crypto/sha1.o |
49748af9 | 36 | OBJS_both += ../src/crypto/sha1-tlsprf.o |
4c9e03e0 JB |
37 | OBJS_both += ../src/crypto/aes-cbc.o |
38 | OBJS_both += ../src/crypto/aes-ctr.o | |
39 | OBJS_both += ../src/crypto/aes-eax.o | |
40 | OBJS_both += ../src/crypto/aes-encblock.o | |
41 | OBJS_both += ../src/crypto/aes-omac1.o | |
42 | OBJS_both += ../src/crypto/aes-unwrap.o | |
43 | OBJS_both += ../src/crypto/aes-wrap.o | |
6fc6879b | 44 | OBJS_both += ../src/crypto/ms_funcs.o |
6fc6879b | 45 | |
657f0381 JB |
46 | ifeq ($(CONFIG_TLS), internal) |
47 | OBJS_both += ../src/crypto/sha1-internal.o | |
48 | OBJS_both += ../src/crypto/des-internal.o | |
27da6d4a | 49 | OBJS_both += ../src/crypto/aes-internal.o ../src/crypto/aes-internal-dec.o ../src/crypto/aes-internal-enc.o |
657f0381 | 50 | endif |
598a792d | 51 | SHA256OBJS = ../src/crypto/sha256.o |
657f0381 | 52 | |
ad01a531 | 53 | MD5OBJS = ../src/crypto/md5.o |
6fc6879b | 54 | |
7409827e | 55 | OBJS_both += ../src/eap_common/eap_peap_common.o |
6fc6879b JM |
56 | OBJS_both += ../src/eap_common/eap_psk_common.o |
57 | OBJS_both += ../src/eap_common/eap_pax_common.o | |
58 | OBJS_both += ../src/eap_common/eap_sake_common.o | |
59 | OBJS_both += ../src/eap_common/eap_gpsk_common.o | |
60 | OBJS_both += ../src/eap_common/chap.o | |
61 | ||
62 | OBJS_peer += ../src/eap_peer/eap_tls.o | |
63 | OBJS_peer += ../src/eap_peer/eap_peap.o | |
64 | OBJS_peer += ../src/eap_peer/eap_ttls.o | |
65 | OBJS_peer += ../src/eap_peer/eap_md5.o | |
66 | OBJS_peer += ../src/eap_peer/eap_mschapv2.o | |
67 | OBJS_peer += ../src/eap_peer/mschapv2.o | |
68 | OBJS_peer += ../src/eap_peer/eap_otp.o | |
69 | OBJS_peer += ../src/eap_peer/eap_gtc.o | |
70 | OBJS_peer += ../src/eap_peer/eap_leap.o | |
71 | OBJS_peer += ../src/eap_peer/eap_psk.o | |
6fc6879b JM |
72 | OBJS_peer += ../src/eap_peer/eap_pax.o |
73 | OBJS_peer += ../src/eap_peer/eap_sake.o | |
74 | OBJS_peer += ../src/eap_peer/eap_gpsk.o | |
75 | OBJS_peer += ../src/eap_peer/eap.o | |
76 | OBJS_peer += ../src/eap_common/eap_common.o | |
77 | OBJS_peer += ../src/eap_peer/eap_methods.o | |
78 | OBJS_peer += ../src/eap_peer/eap_tls_common.o | |
79 | ||
80 | CFLAGS += -DEAP_TLS | |
81 | CFLAGS += -DEAP_PEAP | |
82 | CFLAGS += -DEAP_TTLS | |
83 | CFLAGS += -DEAP_MD5 | |
84 | CFLAGS += -DEAP_MSCHAPv2 | |
85 | CFLAGS += -DEAP_GTC | |
86 | CFLAGS += -DEAP_OTP | |
87 | CFLAGS += -DEAP_LEAP | |
88 | CFLAGS += -DEAP_PSK | |
6fc6879b JM |
89 | CFLAGS += -DEAP_PAX |
90 | CFLAGS += -DEAP_SAKE | |
91 | CFLAGS += -DEAP_GPSK -DEAP_GPSK_SHA256 | |
92 | CFLAGS += -DEAP_TLS_FUNCS | |
93 | ||
c8878307 JM |
94 | CFLAGS += -DEAP_SERVER_TLS |
95 | CFLAGS += -DEAP_SERVER_PEAP | |
96 | CFLAGS += -DEAP_SERVER_TTLS | |
97 | CFLAGS += -DEAP_SERVER_MD5 | |
98 | CFLAGS += -DEAP_SERVER_MSCHAPV2 | |
99 | CFLAGS += -DEAP_SERVER_GTC | |
100 | CFLAGS += -DEAP_SERVER_PSK | |
101 | CFLAGS += -DEAP_SERVER_PAX | |
102 | CFLAGS += -DEAP_SERVER_SAKE | |
103 | CFLAGS += -DEAP_SERVER_GPSK -DEAP_SERVER_GPSK_SHA256 | |
104 | ||
6fc6879b JM |
105 | CFLAGS += -DIEEE8021X_EAPOL |
106 | ||
107 | ifeq ($(CONFIG_TLS), openssl) | |
108 | CFLAGS += -DEAP_TLS_OPENSSL | |
109 | OBJS_both += ../src/crypto/tls_openssl.o | |
110 | OBJS_both += ../src/crypto/crypto_openssl.o | |
111 | LIBS += -lssl -lcrypto | |
598a792d | 112 | CONFIG_INTERNAL_SHA256=y |
6fc6879b JM |
113 | endif |
114 | ||
c91231c9 JM |
115 | ifeq ($(CONFIG_TLS), gnutls) |
116 | CFLAGS += -DEAP_TLS_GNUTLS | |
117 | OBJS_both += ../src/crypto/tls_gnutls.o | |
118 | OBJS_both += ../src/crypto/crypto_gnutls.o | |
119 | LIBS += -lgnutls -lgcrypt | |
120 | CONFIG_INTERNAL_SHA256=y | |
121 | endif | |
122 | ||
6fc6879b JM |
123 | ifeq ($(CONFIG_TLS), internal) |
124 | OBJS_both += ../src/crypto/tls_internal.o | |
125 | OBJS_both += ../src/tls/tlsv1_common.o ../src/tls/tlsv1_record.o | |
126 | OBJS_both += ../src/tls/tlsv1_cred.o | |
127 | OBJS_both += ../src/tls/asn1.o ../src/tls/x509v3.o | |
128 | OBJS_both += ../src/crypto/crypto_internal.o ../src/tls/rsa.o ../src/tls/bignum.o | |
129 | ||
130 | OBJS_peer += ../src/tls/tlsv1_client.o | |
131 | OBJS_peer += ../src/tls/tlsv1_client_write.o ../src/tls/tlsv1_client_read.o | |
132 | CFLAGS += -DCONFIG_TLS_INTERNAL_CLIENT | |
133 | ||
134 | OBJS_server += ../src/tls/tlsv1_server.o | |
135 | OBJS_server += ../src/tls/tlsv1_server_write.o ../src/tls/tlsv1_server_read.o | |
136 | CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER | |
137 | ||
138 | CFLAGS += -DCONFIG_TLS_INTERNAL | |
139 | CFLAGS += -DCONFIG_CRYPTO_INTERNAL | |
140 | CFLAGS += -DCONFIG_INTERNAL_X509 | |
598a792d | 141 | CONFIG_INTERNAL_SHA256=y |
ad01a531 | 142 | MD5OBJS += ../src/crypto/md5-internal.o |
6fc6879b JM |
143 | ifdef CONFIG_INTERNAL_LIBTOMMATH |
144 | CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH | |
145 | else | |
146 | LIBS += -ltommath | |
147 | endif | |
148 | endif | |
149 | ||
150 | ||
598a792d JB |
151 | ifdef CONFIG_INTERNAL_SHA256 |
152 | SHA256OBJS += ../src/crypto/sha256-internal.o | |
153 | endif | |
154 | ||
ad01a531 | 155 | OBJS_both += $(SHA256OBJS) $(MD5OBJS) |
598a792d | 156 | |
6fc6879b JM |
157 | |
158 | # Optional components to add EAP server support | |
159 | OBJS_server += ../src/eap_server/eap_tls.o | |
160 | OBJS_server += ../src/eap_server/eap_peap.o | |
161 | OBJS_server += ../src/eap_server/eap_ttls.o | |
162 | OBJS_server += ../src/eap_server/eap_md5.o | |
163 | OBJS_server += ../src/eap_server/eap_mschapv2.o | |
164 | OBJS_server += ../src/eap_server/eap_gtc.o | |
165 | OBJS_server += ../src/eap_server/eap_psk.o | |
6fc6879b JM |
166 | OBJS_server += ../src/eap_server/eap_pax.o |
167 | OBJS_server += ../src/eap_server/eap_sake.o | |
168 | OBJS_server += ../src/eap_server/eap_gpsk.o | |
169 | OBJS_server += ../src/eap_server/eap.o | |
170 | OBJS_server += ../src/eap_server/eap_identity.o | |
171 | OBJS_server += ../src/eap_server/eap_methods.o | |
172 | OBJS_server += ../src/eap_server/eap_tls_common.o | |
173 | CFLAGS += -DEAP_SERVER | |
174 | ||
175 | ||
176 | ifndef LDO | |
177 | LDO=$(CC) | |
178 | endif | |
179 | ||
180 | ||
181 | OBJS_lib=$(OBJS_both) $(OBJS_peer) $(OBJS_server) | |
182 | ||
183 | OBJS_ex = eap_example.o eap_example_peer.o eap_example_server.o | |
184 | ||
185 | ifneq ($(CONFIG_SOLIB), yes) | |
186 | LIBEAP = libeap.a | |
187 | libeap.a: $(OBJS_lib) | |
188 | ar rc libeap.a $(OBJS_lib) | |
189 | ranlib libeap.a | |
190 | ||
191 | else | |
192 | CFLAGS += -fPIC -DPIC | |
193 | LDFLAGS += -shared | |
194 | ||
195 | LIBEAP = libeap.so | |
196 | libeap.so: $(OBJS_lib) | |
197 | $(LDO) $(LDFLAGS) $(OBJS_lib) -o $(LIBEAP) | |
198 | ||
199 | endif | |
200 | ||
201 | eap_example: $(OBJS_ex) $(LIBEAP) | |
202 | $(LDO) $(LDFLAGS) -o eap_example $(OBJS_ex) -L. -leap $(LIBS) | |
203 | ||
204 | clean: | |
205 | $(MAKE) -C ../src clean | |
206 | rm -f core *~ *.o *.d libeap.a libeap.so $(ALL) | |
207 | ||
208 | -include $(OBJS:%.o=%.d) |