a08fd547d7d2ddddf8bbeed5a4a6311061ca72d1
[mech_eap.git] / wlantest / Makefile
1 ALL=wlantest wlantest_cli test_vectors
2
3 all: $(ALL)
4
5 ifndef CC
6 CC=gcc
7 endif
8
9 ifndef RANLIB
10 RANLIB=ranlib
11 endif
12
13 ifndef CFLAGS
14 CFLAGS = -MMD -O2 -Wall -g
15 endif
16
17
18 CFLAGS += -I.
19 CFLAGS += -I../src
20 CFLAGS += -I../src/utils
21
22
23 ifndef LDO
24 LDO=$(CC)
25 endif
26
27 Q=@
28 E=echo
29 ifeq ($(V), 1)
30 Q=
31 E=true
32 endif
33
34 %.o: %.c
35         $(Q)$(CC) -c -o $@ $(CFLAGS) $<
36         @$(E) "  CC " $<
37
38
39 OBJS_lib += ../src/utils/libutils.a
40 OBJS_lib += ../src/crypto/libcrypto.a
41
42 CFLAGS += -DCONFIG_PEERKEY
43 CFLAGS += -DCONFIG_IEEE80211W
44 CFLAGS += -DCONFIG_IEEE80211R
45 CFLAGS += -DCONFIG_DEBUG_FILE
46
47 OBJS += ../src/common/ieee802_11_common.o
48 OBJS += ../src/common/wpa_common.o
49 OBJS += ../src/radius/radius.o
50 OBJS += ../src/rsn_supp/wpa_ie.o
51
52 OBJS += wlantest.o
53 OBJS += readpcap.o
54 OBJS += writepcap.o
55 OBJS += monitor.o
56 OBJS += process.o
57 OBJS += wired.o
58 OBJS += rx_mgmt.o
59 OBJS += rx_data.o
60 OBJS += rx_eapol.o
61 OBJS += rx_ip.o
62 OBJS += rx_tdls.o
63 OBJS += bss.o
64 OBJS += sta.o
65 OBJS += crc32.o
66 OBJS += ccmp.o
67 OBJS += tkip.o
68 OBJS += ctrl.o
69 OBJS += inject.o
70 OBJS += wep.o
71 OBJS += bip.o
72
73 LIBS += -lpcap
74
75 TOBJS += test_vectors.o
76 TOBJS += crc32.o
77 TOBJS += ccmp.o
78 TOBJS += tkip.o
79 TOBJS += wep.o
80 TOBJS += bip.o
81 TOBJS += gcmp.o
82
83
84 ../src/utils/libutils.a:
85         $(MAKE) -C ../src/utils
86
87 ../src/crypto/libcrypto.a:
88         $(MAKE) -C ../src/crypto
89
90
91 ifneq ($(CONFIG_SOLIB), yes)
92 LIBWLANTEST = libwlantest.a
93 libwlantest.a: $(OBJS_lib)
94         $(AR) crT libwlantest.a $(OBJS_lib)
95         $(RANLIB) libwlantest.a
96
97 else
98 CFLAGS  += -fPIC -DPIC
99 LDFLAGS += -shared
100
101 LIBWLANTEST  = libwlantest.so
102 libwlantest.so: $(OBJS_lib)
103         $(LDO) $(LDFLAGS) $(OBJS_lib) -o $(LIBWLANTEST)
104
105 endif
106
107
108 OBJS_cli = wlantest_cli.o
109
110
111 wlantest: $(OBJS) $(LIBWLANTEST)
112         $(LDO) $(LDFLAGS) -o wlantest $(OBJS) -L. -lwlantest $(LIBS)
113
114 wlantest_cli: $(OBJS_cli) $(LIBWLANTEST)
115         $(LDO) $(LDFLAGS) -o wlantest_cli $(OBJS_cli) -L. -lwlantest
116
117 test_vectors: $(TOBJS) $(LIBWLANTEST)
118         $(LDO) $(LDFLAGS) -o test_vectors $(TOBJS) -L. -lwlantest $(LIBS)
119
120 clean:
121         $(MAKE) -C ../src clean
122         rm -f core *~ *.o *.d libwlantest.a libwlantest.so $(ALL)
123
124 -include $(OBJS:%.o=%.d)