Updated through tag hostap_2_5 from git://w1.fi/hostap.git
[mech_eap.git] / libeap / 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 # glibc < 2.17 needs -lrt for clock_gettime()
23 LIBS += -lrt
24
25 ifndef LDO
26 LDO=$(CC)
27 endif
28
29 Q=@
30 E=echo
31 ifeq ($(V), 1)
32 Q=
33 E=true
34 endif
35 ifeq ($(QUIET), 1)
36 Q=@
37 E=true
38 endif
39
40 %.o: %.c
41         $(Q)$(CC) -c -o $@ $(CFLAGS) $<
42         @$(E) "  CC " $<
43
44
45 OBJS_lib += ../src/utils/libutils.a
46 OBJS_lib += ../src/crypto/libcrypto.a
47
48 CFLAGS += -DCONFIG_PEERKEY
49 CFLAGS += -DCONFIG_IEEE80211W
50 CFLAGS += -DCONFIG_IEEE80211R
51 CFLAGS += -DCONFIG_HS20
52 CFLAGS += -DCONFIG_DEBUG_FILE
53
54 OBJS += ../src/common/ieee802_11_common.o
55 OBJS += ../src/common/wpa_common.o
56 OBJS += ../src/radius/radius.o
57 OBJS += ../src/rsn_supp/wpa_ie.o
58
59 OBJS += wlantest.o
60 OBJS += readpcap.o
61 OBJS += writepcap.o
62 OBJS += monitor.o
63 OBJS += process.o
64 OBJS += wired.o
65 OBJS += rx_mgmt.o
66 OBJS += rx_data.o
67 OBJS += rx_eapol.o
68 OBJS += rx_ip.o
69 OBJS += rx_tdls.o
70 OBJS += bss.o
71 OBJS += sta.o
72 OBJS += crc32.o
73 OBJS += ccmp.o
74 OBJS += tkip.o
75 OBJS += ctrl.o
76 OBJS += inject.o
77 OBJS += wep.o
78 OBJS += bip.o
79 OBJS += gcmp.o
80
81 LIBS += -lpcap
82
83 TOBJS += test_vectors.o
84 TOBJS += crc32.o
85 TOBJS += ccmp.o
86 TOBJS += tkip.o
87 TOBJS += wep.o
88 TOBJS += bip.o
89 TOBJS += gcmp.o
90
91
92 ../src/utils/libutils.a:
93         $(MAKE) -C ../src/utils
94
95 ../src/crypto/libcrypto.a:
96         $(MAKE) -C ../src/crypto
97
98
99 ifneq ($(CONFIG_SOLIB), yes)
100 LIBWLANTEST = libwlantest.a
101 libwlantest.a: $(OBJS_lib)
102         $(AR) crT libwlantest.a $(OBJS_lib)
103         $(RANLIB) libwlantest.a
104
105 else
106 CFLAGS  += -fPIC -DPIC
107 LDFLAGS += -shared
108
109 LIBWLANTEST  = libwlantest.so
110 libwlantest.so: $(OBJS_lib)
111         $(LDO) $(LDFLAGS) $(OBJS_lib) -o $(LIBWLANTEST)
112
113 endif
114
115
116 OBJS_cli = wlantest_cli.o
117
118
119 wlantest: $(OBJS) $(LIBWLANTEST)
120         $(LDO) $(LDFLAGS) -o wlantest $(OBJS) -L. -lwlantest $(LIBS)
121
122 wlantest_cli: $(OBJS_cli) $(LIBWLANTEST)
123         $(LDO) $(LDFLAGS) -o wlantest_cli $(OBJS_cli) -L. -lwlantest $(LIBS)
124
125 test_vectors: $(TOBJS) $(LIBWLANTEST)
126         $(LDO) $(LDFLAGS) -o test_vectors $(TOBJS) -L. -lwlantest $(LIBS)
127
128 clean:
129         $(MAKE) -C ../src clean
130         rm -f core *~ *.o *.d libwlantest.a libwlantest.so $(ALL)
131
132 -include $(OBJS:%.o=%.d)