1 ifeq ($(origin $(KLIB)), undefined)
2 KLIB := /lib/modules/$(shell uname -r)
4 KLIB_BUILD ?= $(KLIB)/build
6 ifneq ($(COMPAT_TREE),)
7 CFLAGS += -I$(COMPAT_TREE)/include/
10 CRDA_LIB := "/usr/lib/crda/"
12 CFLAGS += -Wall -g -I$(KLIB_BUILD)/include
13 #CFLAGS += -DUSE_OPENSSL `pkg-config --cflags openssl`
14 #LDFLAGS += `pkg-config --libs openssl`
15 CFLAGS += -DUSE_GCRYPT
29 all: regulatory.bin warn crda
30 $(Q)$(MAKE) --no-print-directory -f Makefile verify
32 regulatory.bin: dbparse.py db2bin.py key.priv.pem db.txt
34 $(Q)./db2bin.py $@ db.txt key.priv.pem
36 keys-%.c: key2pub.py $(wildcard *.pem)
38 $(Q)./key2pub.py --$* *.pem > $@
42 $(Q)$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
44 crda: keys-ssl.c keys-gcrypt.c reglib.o crda.o
46 $(Q)$(CC) $(CFLAGS) $(LDFLAGS) `pkg-config --libs libnl-1` -o $@ reglib.o crda.o
49 @if test ! -f key.priv.pem || diff -qNs test-key key.priv.pem >/dev/null ; then \
50 echo '**************************************';\
51 echo '** WARNING! **';\
52 echo '** No key found, using TEST key! **';\
53 echo '**************************************';\
57 $(Q)cp test-key key.priv.pem
60 $(Q)openssl genrsa -out key.priv.pem 2048
62 dump: keys-ssl.c keys-gcrypt.c reglib.o dump.o
64 $(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ reglib.o dump.o
66 intersect: regulatory.bin keys-ssl.c keys-gcrypt.c reglib.o intersect.o
68 $(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ reglib.o intersect.o
70 verify: regulatory.bin dump
71 $(NQ) ' CHK regulatory.bin'
72 $(Q)./dump regulatory.bin >/dev/null
74 install: regulatory.bin crda
76 $(Q)$(MKDIR) $(DESTDIR)/sbin
77 $(Q)$(INSTALL) -m 755 -t $(DESTDIR)/sbin/ crda
78 $(NQ) ' INSTALL regulatory.bin'
79 $(Q)$(MKDIR) $(DESTDIR)$(CRDA_LIB)
80 $(Q)$(INSTALL) -m 644 -t $(DESTDIR)$(CRDA_LIB) regulatory.bin
81 $(NQ) ' INSTALL regulatory.rules'
82 $(Q)$(MKDIR) $(DESTDIR)/etc/udev/rules.d
83 $(Q)$(INSTALL) -m 644 -t $(DESTDIR)/etc/udev/rules.d/ regulatory.rules
86 $(Q)rm -f regulatory.bin crda dump intersect *.o *~ *.pyc keys-*.c
87 $(Q)if test -f key.priv.pem && diff -qNs test-key key.priv.pem >/dev/null ; then \