Merge branch 'tls-kdh' of https://github.com/arpa2/tlspool into tls-kdh
[tlspool] / src / Makefile
1 TARGETS = tlspool$(EXE)
2
3 OBJS = daemon.o config.o manage.o service.o cache.o pinentry.o lidentry.o \
4         starttls.o donai.o remote.o error.o ctlkey.o \
5         validate.o online.o pgp.o trust.o
6
7 CFLAGS += -pthread -I ../include -std=gnu11
8 CFLAGS += $(GNUTLS_CFLAGS) $(P11KIT_CFLAGS) $(BDB_CFLAGS) $(TASN1_CFLAGS) $(UNBOUND_CFLAGS) $(QUICKDER_CFLAGS)
9
10 LDFLAGS += -std=gnu11
11
12 LIBS = $(GNUTLS_LIBS) $(P11KIT_LIBS) $(BDB_LIBS) $(TASN1_LIBS) $(UNBOUND_LIBS) $(QUICKDER_LIBS)
13 LIBS += -lldap -lldns -lpthread
14
15 ifdef WITH_SYSTEMD
16 CFLAGS += -DHAVE_SYSTEMD
17 LIBS   += -lsystemd-daemon
18 endif
19
20 ifndef WITHOUT_KERBEROS
21 CFLAGS += -DHAVE_TLS_KDH $(KERBEROS_CFLAGS)
22 LIBS += $(KERBEROS_LIBS)
23 endif
24
25 GNUTLS_CFLAGS = $(shell $(PKG_CONFIG) --cflags gnutls)
26 GNUTLS_LIBS   = $(shell $(PKG_CONFIG) --libs   gnutls)
27 GNUTLS_CFLAGS += $(shell $(PKG_CONFIG) --cflags gnutls-dane)
28 GNUTLS_LIBS   += $(shell $(PKG_CONFIG) --libs   gnutls-dane)
29 P11KIT_CFLAGS = $(shell $(PKG_CONFIG) --cflags p11-kit-1)
30 P11KIT_LIBS   = $(shell $(PKG_CONFIG) --libs   p11-kit-1)
31 TASN1_CFLAGS = $(shell $(PKG_CONFIG) --cflags libtasn1)
32 TASN1_LIBS   = $(shell $(PKG_CONFIG) --libs   libtasn1)
33 #HOWTOUSE# UNBOUND_FLAGS = $(shell $(PKG_CONFIG) --cflags libunbound)
34 #HOWTOUSE# UNBOUND_LIBS  = $(shell $(PKG_CONFIG) --libs   libunbound)
35 QUICKDER_CFLAGS = $(shell $(PKG_CONFIG) --cflags quick-der)
36 QUICKDER_LIBS   = $(shell $(PKG_CONFIG) --libs   quick-der)
37 KERBEROS_CFLAGS = $(shell krb5-config --cflags)
38 KERBEROS_LIBS = $(shell krb5-config --libs)
39
40 ifdef WINVER
41 CFLAGS += -D_WIN32_WINNT=0x0600 -DATTRIBUTE_UNUSED="" -I ../include/windows
42 OBJS += windows/syslog.o windows/windows.o windows/getopt.o
43 LIBS += -lkernel32 -ladvapi32 -lmsvcrt -lwsock32 -lws2_32
44 EXE = .exe
45 endif
46
47 PKG_CONFIG ?= pkg-config
48
49 ifdef WINVER
50 CFLAGS += -D_WIN32_WINNT=0x0600 -DATTRIBUTE_UNUSED="" -I ../include/windows
51 OBJS += windows/syslog.o windows/windows.o windows/getopt.o
52 LIBS += -lkernel32 -ladvapi32 -lmsvcrt -lwsock32 -lws2_32
53 EXE = .exe
54 endif
55
56 PKG_CONFIG ?= pkg-config
57
58 SBIN ?= sbin
59
60 BDB_CFLAGS = 
61 ifdef WINVER
62 BDB_LIBS   = -ldb-6.1
63 else
64 BDB_LIBS   = -ldb # this is the default
65 endif
66
67 TASN1_CFLAGS = $(shell pkg-config --cflags libtasn1)
68 TASN1_LIBS   = $(shell pkg-config --libs   libtasn1)
69 #HOWTOUSE# UNBOUND_FLAGS = $(shell pkg-config --cflags libunbound)
70 #HOWTOUSE# UNBOUBD_LIBS  = $(shell pkg-config --libs   libunbound)
71 QUICKDER_CFLAGS = $(shell pkg-config --cflags quick-der)
72 QUICKDER_LIBS = $(shell pkg-config --libs quick-der)
73 KERBEROS_CFLAGS = $(shell krb5-config --cflags)
74 KERBEROS_LIBS = $(shell krb5-config --libs)
75 # CFLAGS += -DHAVE_TLS_KDH
76
77 all: $(TARGETS)
78
79 tlspool$(EXE): $(OBJS)
80         $(CC) $(LDFLAGS) -o "$@" $(OBJS) $(LIBS)
81
82 %.o: %.c
83         $(CC) -c $(CFLAGS) -o "$@" "$<"
84
85 %.pre: %.c
86         $(CC) -E $(CFLAGS) -o "$@" "$<"
87
88 .PHONY: clean
89 clean:
90         rm -f $(OBJS) $(TARGETS)
91
92 anew: clean all
93
94 install: all
95         install $(TARGETS) "$(DESTDIR)/$(PREFIX)/$(SBIN)/"
96
97 uninstall:
98         @$(foreach t,$(TARGETS),rm -f '$(DESTDIR)/$(PREFIX)/$(SBIN)/$t' && ) echo Removed TLS Pool daemon
99