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