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
33 @if test ! -f key.priv.pem || diff -qNs test-key key.priv.pem >/dev/null ; then \
34 echo '**************************************';\
35 echo '** WARNING! **';\
36 echo '** No key found, using TEST key! **';\
37 echo '**************************************';\
41 cp test-key key.priv.pem
44 openssl genrsa -out key.priv.pem 2048
46 dump: dump.c regdb.h keys-ssl.c keys-gcrypt.c
47 $(CC) $(CFLAGS) $(LDFLAGS) dump.c -o dump
49 keys-ssl.c: key2pub.py $(wildcard *.pem)
50 @./key2pub.py --ssl *.pem > keys-ssl.c
52 keys-gcrypt.c: key2pub.py *.pem
53 @./key2pub.py --gcrypt *.pem > keys-gcrypt.c
56 @./dump regulatory.bin >/dev/null
58 install: regulatory.bin crda
59 $(MKDIR) $(DESTDIR)$(CRDA_LIB)
60 $(INSTALL) -m 644 -t $(DESTDIR)$(CRDA_LIB) regulatory.bin
61 $(INSTALL) -m 755 -t $(DESTDIR)/sbin/ crda
62 $(INSTALL) -m 644 -t $(DESTDIR)/etc/udev/rules.d/ regulatory.rules