Makefile 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. ALL=wlantest
  2. all: $(ALL)
  3. ifndef CC
  4. CC=gcc
  5. endif
  6. ifndef RANLIB
  7. RANLIB=ranlib
  8. endif
  9. ifndef CFLAGS
  10. CFLAGS = -MMD -O2 -Wall -g
  11. endif
  12. CFLAGS += -I.
  13. CFLAGS += -I../src
  14. CFLAGS += -I../src/utils
  15. ifndef LDO
  16. LDO=$(CC)
  17. endif
  18. Q=@
  19. E=echo
  20. ifeq ($(V), 1)
  21. Q=
  22. E=true
  23. endif
  24. %.o: %.c
  25. $(Q)$(CC) -c -o $@ $(CFLAGS) $<
  26. @$(E) " CC " $<
  27. OBJS_lib += ../src/utils/libutils.a
  28. OBJS_lib += ../src/crypto/libcrypto.a
  29. OBJS += ../src/common/ieee802_11_common.o
  30. OBJS += wlantest.o
  31. OBJS += readpcap.o
  32. OBJS += monitor.o
  33. OBJS += process.o
  34. OBJS += bss.o
  35. OBJS += sta.o
  36. OBJS += crc32.o
  37. LIBS += -lpcap
  38. ../src/utils/libutils.a:
  39. $(MAKE) -C ../src/utils
  40. ../src/crypto/libcrypto.a:
  41. $(MAKE) -C ../src/crypto
  42. ifneq ($(CONFIG_SOLIB), yes)
  43. LIBWLANTEST = libwlantest.a
  44. libwlantest.a: $(OBJS_lib)
  45. $(AR) crT libwlantest.a $(OBJS_lib)
  46. $(RANLIB) libwlantest.a
  47. else
  48. CFLAGS += -fPIC -DPIC
  49. LDFLAGS += -shared
  50. LIBWLANTEST = libwlantest.so
  51. libwlantest.so: $(OBJS_lib)
  52. $(LDO) $(LDFLAGS) $(OBJS_lib) -o $(LIBWLANTEST)
  53. endif
  54. wlantest: $(OBJS) $(LIBWLANTEST)
  55. $(LDO) $(LDFLAGS) -o wlantest $(OBJS) -L. -lwlantest $(LIBS)
  56. clean:
  57. $(MAKE) -C ../src clean
  58. rm -f core *~ *.o *.d libwlantest.a libwlantest.so $(ALL)
  59. -include $(OBJS:%.o=%.d)