1 2ALL=sigma_dut 3 4all: $(ALL) 5 6ifdef UBSAN 7CC=clang 8CHECKS=undefined,unsigned-integer-overflow 9CFLAGS += -fsanitize=$(CHECKS) 10CFLAGS += -fno-sanitize-recover=all 11LDFLAGS += -fsanitize=$(CHECKS) 12LDFLAGS += -fno-sanitize-recover=all 13endif 14 15ifdef CFI 16CC=clang-6.0 17CFLAGS += -MMD -O2 -Wall -g 18CFLAGS += -flto -fvisibility=hidden -fsanitize=cfi -fno-sanitize-trap=cfi 19LDFLAGS += -flto -fvisibility=hidden -fsanitize=cfi -fno-sanitize-trap=cfi 20endif 21 22ifndef CC 23CC=gcc 24endif 25 26ifndef LDO 27LDO=$(CC) 28endif 29 30ifndef CFLAGS 31CFLAGS = -MMD -O2 -Wall -g 32endif 33 34GITVER := $(shell git describe --dirty=+) 35ifneq ($(GITVER),) 36CFLAGS += -DSIGMA_DUT_VER=\"$(GITVER)\" 37endif 38 39export BINDIR ?= /usr/local/bin/ 40 41OBJS=sigma_dut.o 42OBJS += utils.o 43OBJS += wpa_ctrl.o 44OBJS += wpa_helpers.o 45 46OBJS += cmds_reg.o 47OBJS += basic.o 48OBJS += sta.o 49OBJS += traffic.o 50OBJS += p2p.o 51OBJS += dev.o 52OBJS += ap.o 53OBJS += powerswitch.o 54OBJS += atheros.o 55OBJS += ftm.o 56OBJS += dpp.o 57 58ifndef NO_TRAFFIC_AGENT 59CFLAGS += -DCONFIG_TRAFFIC_AGENT -DCONFIG_WFA_WMM_AC 60OBJS += traffic_agent.o 61OBJS += uapsd_stream.o 62LIBS += -lpthread 63endif 64 65ifndef NO_WLANTEST 66CFLAGS += -DCONFIG_WLANTEST 67OBJS += wlantest.o 68endif 69 70ifndef NO_SNIFFER 71CFLAGS += -DCONFIG_SNIFFER 72OBJS += sniffer.o 73endif 74 75ifdef SERVER 76CFLAGS += -DCONFIG_SERVER 77OBJS += server.o 78LIBS += -lsqlite3 79endif 80 81ifdef MIRACAST 82OBJS += miracast.o 83CFLAGS += -DMIRACAST 84LIBS += -ldl 85endif 86 87ifdef NL80211_SUPPORT 88CFLAGS += -DNL80211_SUPPORT -I /usr/include/libnl3 89LIBS += -lnl-3 -lnl-genl-3 90endif 91 92sigma_dut: $(OBJS) 93 $(LDO) $(LDFLAGS) -o sigma_dut $(OBJS) $(LIBS) 94 95clean: 96 rm -f core *~ *.o *.d sigma_dut 97 98$(DESTDIR)$(BINDIR)/%: % 99 install -D $(<) $(@) 100 101install: $(addprefix $(DESTDIR)$(BINDIR)/,$(ALL)) 102 103-include $(OBJS:%.o=%.d) 104