]>
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 | |
6fc6879b | 34 | OBJS_both += ../src/crypto/rc4.o |
bd4e2895 | 35 | OBJS_both += ../src/crypto/md4-internal.o |
657f0381 | 36 | OBJS_both += ../src/crypto/sha1.o |
6fc6879b | 37 | OBJS_both += ../src/crypto/aes_wrap.o |
6fc6879b | 38 | OBJS_both += ../src/crypto/ms_funcs.o |
6fc6879b | 39 | |
657f0381 JB |
40 | ifeq ($(CONFIG_TLS), internal) |
41 | OBJS_both += ../src/crypto/sha1-internal.o | |
42 | OBJS_both += ../src/crypto/des-internal.o | |
27da6d4a | 43 | OBJS_both += ../src/crypto/aes-internal.o ../src/crypto/aes-internal-dec.o ../src/crypto/aes-internal-enc.o |
657f0381 | 44 | endif |
598a792d | 45 | SHA256OBJS = ../src/crypto/sha256.o |
657f0381 | 46 | |
ad01a531 | 47 | MD5OBJS = ../src/crypto/md5.o |
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 |
ad01a531 | 128 | MD5OBJS += ../src/crypto/md5-internal.o |
6fc6879b JM |
129 | ifdef CONFIG_INTERNAL_LIBTOMMATH |
130 | CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH | |
131 | else | |
132 | LIBS += -ltommath | |
133 | endif | |
134 | endif | |
135 | ||
136 | ||
598a792d JB |
137 | ifdef CONFIG_INTERNAL_SHA256 |
138 | SHA256OBJS += ../src/crypto/sha256-internal.o | |
139 | endif | |
140 | ||
ad01a531 | 141 | OBJS_both += $(SHA256OBJS) $(MD5OBJS) |
598a792d | 142 | |
6fc6879b JM |
143 | |
144 | # Optional components to add EAP server support | |
145 | OBJS_server += ../src/eap_server/eap_tls.o | |
146 | OBJS_server += ../src/eap_server/eap_peap.o | |
147 | OBJS_server += ../src/eap_server/eap_ttls.o | |
148 | OBJS_server += ../src/eap_server/eap_md5.o | |
149 | OBJS_server += ../src/eap_server/eap_mschapv2.o | |
150 | OBJS_server += ../src/eap_server/eap_gtc.o | |
151 | OBJS_server += ../src/eap_server/eap_psk.o | |
6fc6879b JM |
152 | OBJS_server += ../src/eap_server/eap_pax.o |
153 | OBJS_server += ../src/eap_server/eap_sake.o | |
154 | OBJS_server += ../src/eap_server/eap_gpsk.o | |
155 | OBJS_server += ../src/eap_server/eap.o | |
156 | OBJS_server += ../src/eap_server/eap_identity.o | |
157 | OBJS_server += ../src/eap_server/eap_methods.o | |
158 | OBJS_server += ../src/eap_server/eap_tls_common.o | |
159 | CFLAGS += -DEAP_SERVER | |
160 | ||
161 | ||
162 | ifndef LDO | |
163 | LDO=$(CC) | |
164 | endif | |
165 | ||
166 | ||
167 | OBJS_lib=$(OBJS_both) $(OBJS_peer) $(OBJS_server) | |
168 | ||
169 | OBJS_ex = eap_example.o eap_example_peer.o eap_example_server.o | |
170 | ||
171 | ifneq ($(CONFIG_SOLIB), yes) | |
172 | LIBEAP = libeap.a | |
173 | libeap.a: $(OBJS_lib) | |
174 | ar rc libeap.a $(OBJS_lib) | |
175 | ranlib libeap.a | |
176 | ||
177 | else | |
178 | CFLAGS += -fPIC -DPIC | |
179 | LDFLAGS += -shared | |
180 | ||
181 | LIBEAP = libeap.so | |
182 | libeap.so: $(OBJS_lib) | |
183 | $(LDO) $(LDFLAGS) $(OBJS_lib) -o $(LIBEAP) | |
184 | ||
185 | endif | |
186 | ||
187 | eap_example: $(OBJS_ex) $(LIBEAP) | |
188 | $(LDO) $(LDFLAGS) -o eap_example $(OBJS_ex) -L. -leap $(LIBS) | |
189 | ||
190 | clean: | |
191 | $(MAKE) -C ../src clean | |
192 | rm -f core *~ *.o *.d libeap.a libeap.so $(ALL) | |
193 | ||
194 | -include $(OBJS:%.o=%.d) |