-IWINFO_OBJ = $(if $(CRAP),iwinfo_wl.o,iwinfo_madwifi.o iwinfo_nl80211.o) \
- iwinfo_wext.o iwinfo_wext_scan.o iwinfo_lualib.o
+IWINFO_OBJ = iwinfo_wext.o iwinfo_wext_scan.o iwinfo_lualib.o
+
+ifneq ($(filter wl,$(IWINFO_BACKENDS)),)
+ IWINFO_CFLAGS += -DUSE_WL
+ IWINFO_OBJ += iwinfo_wl.o
+endif
+
+ifneq ($(filter madwifi,$(IWINFO_BACKENDS)),)
+ IWINFO_CFLAGS += -DUSE_MADWIFI
+ IWINFO_OBJ += iwinfo_madwifi.o
+endif
+
+ifneq ($(filter nl80211,$(IWINFO_BACKENDS)),)
+ IWINFO_CFLAGS += -DUSE_NL80211
+ IWINFO_LDFLAGS += -lnl-tiny
+ IWINFO_OBJ += iwinfo_nl80211.o
+endif
+