wlantest: Move RX EAPOL processing into its own file
[mech_eap.git] / wlantest / Makefile
1 ALL=wlantest wlantest_cli
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
46 OBJS += ../src/common/ieee802_11_common.o
47 OBJS += ../src/common/wpa_common.o
48 OBJS += ../src/radius/radius.o
49 OBJS += ../src/rsn_supp/wpa_ie.o
50
51 OBJS += wlantest.o
52 OBJS += readpcap.o
53 OBJS += writepcap.o
54 OBJS += monitor.o
55 OBJS += process.o
56 OBJS += wired.o
57 OBJS += rx_mgmt.o
58 OBJS += rx_data.o
59 OBJS += rx_eapol.o
60 OBJS += bss.o
61 OBJS += sta.o
62 OBJS += crc32.o
63 OBJS += ccmp.o
64 OBJS += tkip.o
65 OBJS += ctrl.o
66 OBJS += inject.o
67
68 LIBS += -lpcap
69
70
71 ../src/utils/libutils.a:
72         $(MAKE) -C ../src/utils
73
74 ../src/crypto/libcrypto.a:
75         $(MAKE) -C ../src/crypto
76
77
78 ifneq ($(CONFIG_SOLIB), yes)
79 LIBWLANTEST = libwlantest.a
80 libwlantest.a: $(OBJS_lib)
81         $(AR) crT libwlantest.a $(OBJS_lib)
82         $(RANLIB) libwlantest.a
83
84 else
85 CFLAGS  += -fPIC -DPIC
86 LDFLAGS += -shared
87
88 LIBWLANTEST  = libwlantest.so
89 libwlantest.so: $(OBJS_lib)
90         $(LDO) $(LDFLAGS) $(OBJS_lib) -o $(LIBWLANTEST)
91
92 endif
93
94
95 OBJS_cli = wlantest_cli.o
96
97
98 wlantest: $(OBJS) $(LIBWLANTEST)
99         $(LDO) $(LDFLAGS) -o wlantest $(OBJS) -L. -lwlantest $(LIBS)
100
101 wlantest_cli: $(OBJS_cli) $(LIBWLANTEST)
102         $(LDO) $(LDFLAGS) -o wlantest_cli $(OBJS_cli) -L. -lwlantest
103
104 clean:
105         $(MAKE) -C ../src clean
106         rm -f core *~ *.o *.d libwlantest.a libwlantest.so $(ALL)
107
108 -include $(OBJS:%.o=%.d)