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