983b330e1fd549c7ecbd6b90a7adf22b636a5747
[mech_eap.git] / wlantest / Makefile
1 ALL=wlantest
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 OBJS += ../src/common/ieee802_11_common.o
43
44 OBJS += wlantest.o
45 OBJS += readpcap.o
46 OBJS += monitor.o
47 OBJS += process.o
48 OBJS += bss.o
49 OBJS += crc32.o
50
51 LIBS += -lpcap
52
53
54 ../src/utils/libutils.a:
55         $(MAKE) -C ../src/utils
56
57 ../src/crypto/libcrypto.a:
58         $(MAKE) -C ../src/crypto
59
60
61 ifneq ($(CONFIG_SOLIB), yes)
62 LIBWLANTEST = libwlantest.a
63 libwlantest.a: $(OBJS_lib)
64         $(AR) crT libwlantest.a $(OBJS_lib)
65         $(RANLIB) libwlantest.a
66
67 else
68 CFLAGS  += -fPIC -DPIC
69 LDFLAGS += -shared
70
71 LIBWLANTEST  = libwlantest.so
72 libwlantest.so: $(OBJS_lib)
73         $(LDO) $(LDFLAGS) $(OBJS_lib) -o $(LIBWLANTEST)
74
75 endif
76
77 wlantest: $(OBJS) $(LIBWLANTEST)
78         $(LDO) $(LDFLAGS) -o wlantest $(OBJS) -L. -lwlantest $(LIBS)
79
80 clean:
81         $(MAKE) -C ../src clean
82         rm -f core *~ *.o *.d libwlantest.a libwlantest.so $(ALL)
83
84 -include $(OBJS:%.o=%.d)