Newer
Older
OBJS = debug.o uci.o ubus.o wifimngr.o wifimngr_event.o main.o wps.o
PROG_CFLAGS = $(CFLAGS) -DHAS_UBUS -Wall -Werror -fstrict-aliasing -ggdb
#PROG_CFLAGS += -DDONOT_CREATE_AFFILIATED_IFACE_OBJECT
#PROG_CFLAGS += -DWIFI_CACHE_SCANRESULTS
CFLAGS += -Wno-address-of-packed-member
PROG_LIBS += -lssl -lcrypto -leasy -lwifiutils -lwifi-7 -lm -ldl
PROG_LIBS += -luci -lubus -lubox -ljson-c -lblobmsg_json -lnl-genl-3 -lnl-3 -lgcov
CODECOVERAGE_SRC = main.c wifimngr.c uci.c
ifneq (,$(findstring HAS_UBUS,$(CFLAGS)))
endif
BUILDCOLOR=@printf "\e[1;32mBuilding $< \e[0m\n"
.PHONY: version clean install help help.h
%.o: %.c
$(BUILDCOLOR)
$(CC) $(PROG_CFLAGS) -fPIC -c -o $@ $<
version.h:
@(dirty=$(shell ./verifysum.sh); \
[ -f version.h ] || { \
[ -f VERSION ] && basever=$(shell cat VERSION) || \
basever=Unknown; \
xver=$(shell date +'%y%V%u-%H%M'); \
echo "const char *wifimngr_base_version = \"$$basever\";" > $@; \
}; \
echo "const char *wifimngr_xtra_version = \"$$xver$$dirty\";" >> $@; \
)
files.md5:
@md5sum *.c > $@
test: CFLAGS += -fPIC
test: ${OBJS}
${CC} ${LDFLAGS} -shared -o libwifimngr.so ${OBJS} ${LIBS}
unit-test: coverage
make -C test/cmocka unit-test WIFIMNGR_LIB_DIR=$(PWD)
functional-test: coverage
make -C test/cmocka functional-test WIFIMNGR_LIB_DIR=$(PWD)
coverage: LDFLAGS += --coverage
coverage: test wifimngr
$(foreach testprog, $(CODECOVERAGE_SRC), $(GCOV) $(testprog);)
$(DESTDIR)/$(BINDIR)/%: %
install -D $< $@
install: $(addprefix $(DESTDIR)/$(BINDIR)/,wifimngr)
rm -f *.o libwifimngr.so $(PROG)
rm -f *.xml *.html
rm -rf coverage
find -name '*.gcda' -exec rm {} -fv \;
find -name '*.gcno' -exec rm {} -fv \;
find -name '*.gcov' -exec rm {} -fv \;
make -C test/cmocka clean