-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
48 lines (35 loc) · 1005 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
.PHONY: all install clean
-include config.mk
PREFIX?=/usr/local
BINDIR?=$(PREFIX)/bin
MANDIR?=$(PREFIX)/share/man
CFLAGS+=-Wall -Wpedantic
LDLIBS?=-lbearssl
COMMON_OBJ=\
base16.o\
base64.o\
dnssec.o\
key.o\
zone.o
TOOLS=dnskey ds nsec rrsig tlsa
all: $(TOOLS)
libcommon.a: $(COMMON_OBJ)
$(AR) -rc $@ $(COMMON_OBJ)
dnskey: dnskey.o libcommon.a
$(CC) $(LDFLAGS) -o $@ dnskey.o libcommon.a $(LDLIBS)
ds: ds.o libcommon.a
$(CC) $(LDFLAGS) -o $@ ds.o libcommon.a $(LDLIBS)
nsec: nsec.o libcommon.a
$(CC) $(LDFLAGS) -o $@ nsec.o libcommon.a $(LDLIBS)
rrsig: rrsig.o libcommon.a
$(CC) $(LDFLAGS) -o $@ rrsig.o libcommon.a $(LDLIBS)
tlsa: tlsa.o libcommon.a
$(CC) $(LDFLAGS) -o $@ tlsa.o libcommon.a $(LDLIBS)
dnskey.o ds.o nsec.o rrsig.o $(COMMON_OBJ): dnssec.h
install: $(TOOLS)
mkdir -p $(DESTDIR)$(BINDIR)
cp $(TOOLS) $(DESTDIR)$(BINDIR)/
mkdir -p $(DESTDIR)$(MANDIR)/man1
cp $(TOOLS:%=%.1) $(DESTDIR)$(MANDIR)/man1/
clean:
rm -f $(TOOLS) $(TOOLS:%=%.o) libcommon.a $(COMMON_OBJ)