Makefile: add support for DESTDIR.
[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 CFLAGS += -Wall -g3
7 #CFLAGS += -DUSE_OPENSSL
8 #LDFLAGS += -lssl
9 ifneq ($(COMPAT_TREE),)
10 CFLAGS += -I$(COMPAT_TREE)/include/
11 endif
12 CFLAGS += -I$(KLIB_BUILD)/include -DUSE_GCRYPT
13 LDFLAGS += -lgcrypt
14
15 MKDIR ?= mkdir -p
16 INSTALL ?= install
17
18 CRDA_LIB = "/usr/lib/crda/"
19
20 all:    regulatory.bin warn crda
21         @$(MAKE) --no-print-directory -f Makefile verify
22
23 regulatory.bin: db2bin.py key.priv.pem db.txt dbparse.py
24         @./db2bin.py regulatory.bin db.txt key.priv.pem
25
26 crda: keys-gcrypt.c keys-ssl.c crda.c regdb.h
27         $(CC) $(CFLAGS) $(LDFLAGS) -lnl -o $@ crda.c
28
29 clean:
30         @rm -f regulatory.bin dump *~ *.pyc keys-*.c crda
31
32 warn:
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 '**************************************';\
38         fi
39
40 key.priv.pem:
41         cp test-key key.priv.pem
42
43 generate_key:
44         openssl genrsa -out key.priv.pem 2048
45
46 dump:   dump.c regdb.h keys-ssl.c keys-gcrypt.c
47         $(CC) $(CFLAGS) $(LDFLAGS) dump.c -o dump
48
49 keys-ssl.c: key2pub.py $(wildcard *.pem)
50         @./key2pub.py --ssl *.pem > keys-ssl.c
51
52 keys-gcrypt.c: key2pub.py *.pem
53         @./key2pub.py --gcrypt *.pem > keys-gcrypt.c
54
55 verify: dump
56         @./dump regulatory.bin >/dev/null
57
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