CFLAGS_EVAL := $(call cc-option,-Wstringop-overflow=4)
CFLAGS ?= -O2 -g
-CFLAGS += -Wall -Wextra -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common \
- -Werror-implicit-function-declaration -Wsign-compare -Wno-unused-parameter \
- $(CFLAGS_EVAL)
+CFLAGS += -Wall -Wextra -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
+CFLAGS += -Werror-implicit-function-declaration -Wsign-compare -Wno-unused-parameter
+CFLAGS += -Wdeclaration-after-statement
+CFLAGS += $(CFLAGS_EVAL)
_OBJS := $(sort $(patsubst %.c,%.o,$(wildcard *.c)))
VERSION_OBJS := $(filter-out version.o, $(_OBJS))
@$(NQ) ' GEN ' $@
$(Q)./version.sh $@
-%.o: %.c iw.h nl80211.h
+nl80211-commands.inc: nl80211.h
+ @$(NQ) ' GEN ' $@
+ $(Q)sed 's%^\tNL80211_CMD_%%;t n;d;:n s%^\([^=]*\),.*%\t[NL80211_CMD_\1] = \"\L\1\",%;t;d' nl80211.h | grep -v "reserved" > $@
+
+%.o: %.c iw.h nl80211.h nl80211-commands.inc
@$(NQ) ' CC ' $@
$(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
$(Q)$(INSTALL) -m 644 iw.8.gz $(DESTDIR)$(MANDIR)/man8/
clean:
- $(Q)rm -f iw *.o *~ *.gz version.c *-stamp
+ $(Q)rm -f iw *.o *~ *.gz version.c *-stamp nl80211-commands.inc