1 ifeq ($(origin $(KLIB)), undefined)
2 KLIB := /lib/modules/$(shell uname -r)
4 KLIB_BUILD ?= $(KLIB)/build
7 #CFLAGS += -DUSE_OPENSSL
9 ifneq ($(COMPAT_TREE),)
10 CFLAGS += -I$(COMPAT_TREE)/include/
12 CFLAGS += -I$(KLIB_BUILD)/include -DUSE_GCRYPT
18 CRDA_LIB = "/usr/lib/crda/"
20 all: regulatory.bin warn crda
21 @$(MAKE) --no-print-directory -f Makefile verify
23 regulatory.bin: db2bin.py key.priv.pem db.txt dbparse.py
24 @./db2bin.py regulatory.bin db.txt key.priv.pem
26 crda: keys-gcrypt.c keys-ssl.c crda.c regdb.h
27 $(CC) $(CFLAGS) $(LDFLAGS) -lnl -o $@ crda.c
30 @rm -f regulatory.bin dump *~ *.pyc keys-*.c crda
31 @if test -f key.priv.pem && diff -qNs test-key key.priv.pem >/dev/null ; then \
36 @if test ! -f key.priv.pem || diff -qNs test-key key.priv.pem >/dev/null ; then \
37 echo '**************************************';\
38 echo '** WARNING! **';\
39 echo '** No key found, using TEST key! **';\
40 echo '**************************************';\
44 cp test-key key.priv.pem
47 openssl genrsa -out key.priv.pem 2048
49 dump: dump.c regdb.h keys-ssl.c keys-gcrypt.c
50 $(CC) $(CFLAGS) $(LDFLAGS) dump.c -o dump
52 keys-ssl.c: key2pub.py $(wildcard *.pem)
53 @./key2pub.py --ssl *.pem > keys-ssl.c
55 keys-gcrypt.c: key2pub.py $(wildcard *.pem)
56 @./key2pub.py --gcrypt *.pem > keys-gcrypt.c
59 @./dump regulatory.bin >/dev/null
61 install: regulatory.bin crda
62 $(MKDIR) $(DESTDIR)$(CRDA_LIB)
63 $(INSTALL) -m 644 -t $(DESTDIR)$(CRDA_LIB) regulatory.bin
64 $(INSTALL) -m 755 -t $(DESTDIR)/sbin/ crda
65 $(INSTALL) -m 644 -t $(DESTDIR)/etc/udev/rules.d/ regulatory.rules