Add linville's public key and use it, also do rely
[platform/upstream/crda.git] / Makefile
1 ifeq ($(origin $(KLIB)), undefined)
2 KLIB := /lib/modules/$(shell uname -r)
3 endif
4 KLIB_BUILD ?= $(KLIB)/build
5
6 ifneq ($(COMPAT_TREE),)
7 CFLAGS += -I$(COMPAT_TREE)/include/
8 endif
9
10 # Modify as you see fit, note this is built into crda.
11 REG_BIN?=/usr/lib/crda/regulatory.bin
12
13 # Used locally to retrieve all pubkeys during build time
14 PUBKEY_DIR=pubkeys
15
16 CFLAGS += -Wall -g -I$(KLIB_BUILD)/include
17 #CFLAGS += -DUSE_OPENSSL `pkg-config --cflags openssl`
18 #LDFLAGS += `pkg-config --libs openssl`
19 CFLAGS += -DUSE_GCRYPT
20 LDFLAGS += -lgcrypt
21
22 MKDIR ?= mkdir -p
23 INSTALL ?= install
24
25 ifeq ($(V),1)
26 Q=
27 NQ=@true
28 else
29 Q=@
30 NQ=@echo
31 endif
32
33 all: crda intersect
34         $(Q)$(MAKE) --no-print-directory -f Makefile verify
35
36 keys-%.c: utils/key2pub.py $(PUBKEY_DIR)/$(wildcard *.pem)
37         $(NQ) '  GEN ' $@
38         $(Q)./utils/key2pub.py --$* $(PUBKEY_DIR)/*.pem > $@
39
40 %.o: %.c regdb.h
41         $(NQ) '  CC  ' $@
42         $(Q)$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
43
44 crda: keys-ssl.c keys-gcrypt.c reglib.o crda.o
45         $(NQ) '  LD  ' $@
46         $(Q)$(CC) $(CFLAGS) $(LDFLAGS) `pkg-config --libs libnl-1` -o $@ reglib.o crda.o
47
48 dump: keys-ssl.c keys-gcrypt.c reglib.o dump.o
49         $(NQ) '  LD  ' $@
50         $(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ reglib.o dump.o
51
52 intersect: keys-ssl.c keys-gcrypt.c reglib.o intersect.o
53         $(NQ) '  LD  ' $@
54         $(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ reglib.o intersect.o
55
56 verify: $(REG_BIN) dump
57         $(NQ) '  CHK  $(REG_BIN)'
58         $(Q)./dump $(REG_BIN) >/dev/null
59
60 install: crda
61         $(NQ) '  INSTALL  crda'
62         $(Q)$(MKDIR) $(DESTDIR)/sbin
63         $(Q)$(INSTALL) -m 755 -t $(DESTDIR)/sbin/ crda
64         $(Q)$(MKDIR) $(DESTDIR)/etc/udev/rules.d
65         $(Q)$(INSTALL) -m 644 -t $(DESTDIR)/etc/udev/rules.d/ udev/regulatory.rules
66
67 clean:
68         $(Q)rm -f crda dump intersect *.o *~ *.pyc keys-*.c