crda: rename nl_handle to nl_sock for libnl-2.0
[platform/upstream/crda.git] / Makefile
index 2b09049..461103d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -3,6 +3,11 @@
 REG_BIN?=/usr/lib/crda/regulatory.bin
 REG_GIT?=git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-regdb.git
 
+PREFIX ?= /usr/
+MANDIR ?= $(PREFIX)/share/man/
+
+SBINDIR ?= /sbin/
+
 # Use a custom CRDA_UDEV_LEVEL when callling make install to
 # change your desired level for the udev regulatory.rules
 CRDA_UDEV_LEVEL?=85
@@ -43,11 +48,15 @@ endif
 
 ifeq ($(NL2FOUND),Y)
 CFLAGS += -DCONFIG_LIBNL20
-LIBS += -lnl-genl
+NLLIBS += -lnl-genl
 NLLIBNAME = libnl-2.0
 endif
 
-LIBS += `pkg-config --libs $(NLLIBNAME)`
+ifeq ($(NLLIBNAME),)
+$(error Cannot find development files for any supported version of libnl)
+endif
+
+NLLIBS += `pkg-config --libs $(NLLIBNAME)`
 CFLAGS += `pkg-config --cflags $(NLLIBNAME)`
 
 ifeq ($(V),1)
@@ -80,7 +89,7 @@ keys-%.c: utils/key2pub.py $(wildcard $(PUBKEY_DIR)/*.pem)
 
 crda: reglib.o crda.o
        $(NQ) '  LD  ' $@
-       $(Q)$(CC) $(CFLAGS) $(LDFLAGS) $(LIBS) -o $@ $^ $(LDLIBS)
+       $(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS) $(NLLIBS)
 
 regdbdump: reglib.o regdbdump.o print-regdom.o
        $(NQ) '  LD  ' $@
@@ -94,20 +103,31 @@ verify: $(REG_BIN) regdbdump
        $(NQ) '  CHK  $(REG_BIN)'
        $(Q)./regdbdump $(REG_BIN) >/dev/null
 
-install: crda
+%.gz: %
+       @$(NQ) ' GZIP' $<
+       $(Q)gzip < $< > $@
+
+install: crda crda.8.gz regdbdump.8.gz
        $(NQ) '  INSTALL  crda'
        $(Q)$(MKDIR) $(DESTDIR)/sbin
-       $(Q)$(INSTALL) -m 755 -t $(DESTDIR)/sbin/ crda
+       $(Q)$(INSTALL) -m 755 -t $(DESTDIR)/$(SBINDIR) crda
        $(NQ) '  INSTALL  regdbdump'
-       $(Q)$(INSTALL) -m 755 -t $(DESTDIR)/sbin/ regdbdump
-       $(NQ) '  INSTALL  regulatory.rules'
-       $(Q)$(MKDIR) $(DESTDIR)/etc/udev/rules.d
+       $(Q)$(INSTALL) -m 755 -t $(DESTDIR)/$(SBINDIR) regdbdump
+       $(NQ) '  INSTALL  $(UDEV_LEVEL)regulatory.rules'
+       $(Q)$(MKDIR) $(DESTDIR)/$(UDEV_RULE_DIR)/
        @# This removes the old rule you may have, we were not
        @# putting it in the right place.
        $(Q)rm -f $(DESTDIR)/etc/udev/rules.d/regulatory.rules
+       $(Q)ln -sf regulatory.rules udev/$(UDEV_LEVEL)regulatory.rules
        $(Q)$(INSTALL) -m 644 -t \
-               $(DESTDIR)/$(UDEV_RULE_DIR)/$(UDEV_LEVEL)regulatory.rules  \
-               udev/regulatory.rules
+               $(DESTDIR)/$(UDEV_RULE_DIR)/ \
+               udev/$(UDEV_LEVEL)regulatory.rules
+       $(NQ) '  INSTALL  crda.8.gz'
+       $(Q)$(MKDIR) $(DESTDIR)$(MANDIR)/man8/
+       $(Q)$(INSTALL) -m 644 -t $(DESTDIR)/$(MANDIR)/man8/ crda.8.gz
+       $(NQ) '  INSTALL  regdbdump.8.gz'
+       $(Q)$(INSTALL) -m 644 -t $(DESTDIR)/$(MANDIR)/man8/ regdbdump.8.gz
 
 clean:
-       $(Q)rm -f crda regdbdump intersect *.o *~ *.pyc keys-*.c
+       $(Q)rm -f crda regdbdump intersect *.o *~ *.pyc keys-*.c *.gz \
+       udev/$(UDEV_LEVEL)regulatory.rules