xref: /dragonfly/sbin/dhcpcd/Makefile (revision d9628585074b58a77a80772180daaa6315997494)
1# Derived from NetBSD's Makefile for dhcpcd
2
3DISTDIR=  ${.CURDIR}/../../contrib/dhcpcd
4
5PROG=               dhcpcd
6
7SRCDIR=             ${DISTDIR}/src
8.PATH:              ${SRCDIR}
9CFLAGS+=  -DHAVE_CONFIG_H -I${.CURDIR} -I${SRCDIR} -I${DISTDIR}
10SRCS=               common.c control.c dhcpcd.c duid.c eloop.c logerr.c
11SRCS+=              if.c if-options.c route.c sa.c script.c
12SRCS+=              dhcp-common.c dhcpcd-embedded.c
13SRCS+=              if-bsd.c
14
15CFLAGS+=  -DAUTH
16SRCS+=              auth.c
17
18CFLAGS+=  -DINET
19SRCS+=              bpf.c dhcp.c ipv4.c
20CFLAGS+=  -DARP -DARPING
21SRCS+=              arp.c
22CFLAGS+=  -DIPV4LL
23SRCS+=              ipv4ll.c
24
25CFLAGS+=  -DINET6
26SRCS+=              ipv6.c ipv6nd.c
27CFLAGS+=  -DDHCP6
28SRCS+=              dhcp6.c
29
30CFLAGS+=  -DPRIVSEP -DPRIVSEP_USER='"_dhcp"'
31SRCS+=              privsep.c privsep-root.c privsep-inet.c privsep-control.c
32SRCS+=              privsep-bpf.c
33SRCS+=              privsep-bsd.c
34
35.PATH:              ${DISTDIR}/compat
36SRCS+=              pidfile.c rb.c strtoi.c strtou.c
37.PATH:              ${DISTDIR}/compat/crypt
38SRCS+=              hmac.c
39
40# Fully convert to openssl/md5.h and openssl/sha2.h
41CFLAGS+=  -DUSE_PRIVATECRYPTO
42FLAGS_GROUPS=       openssl
43openssl_FLAGS=      -I${_SHLIBDIRPREFIX}/usr/include/priv/openssl
44openssl_FLAGS+=     -DMD5Init=MD5_Init -DMD5Update=MD5_Update -DMD5Final=MD5_Final
45openssl_FLAGS_FILES= hmac.c ipv6.c
46
47CFLAGS+=  ${PRIVATELIB_CFLAGS}
48DPADD=              ${LIBCRYPTO}
49LDADD=              -lprivate_crypto
50LDFLAGS+= ${PRIVATELIB_LDFLAGS}
51
52# system directories
53_SYSCONFDIR=        /etc
54_LIBDIR=  /usr/lib
55_LIBEXECDIR=        /usr/libexec
56_DBDIR=             /var/db/dhcpcd
57_RUNDIR=  /var/run/dhcpcd
58CFLAGS+=  -DSYSCONFDIR='"${_SYSCONFDIR}"' \
59                    -DSBINDIR='"${BINDIR}"' \
60                    -DLIBDIR='"${_LIBDIR}"' \
61                    -DLIBEXECDIR='"${_LIBEXECDIR}"' \
62                    -DDBDIR='"${_DBDIR}"' \
63                    -DRUNDIR='"${_RUNDIR}"'
64
65_DATADIR= /usr/share/examples
66_HOOKDIR= ${_LIBEXECDIR}/dhcpcd-hooks
67MAN=                dhcpcd.conf.5 dhcpcd.8
68
69# NOTE:
70# The configuration file 'dhcpcd.conf' is installed by 'etc/Makefile'
71
72#
73# Hooks
74#
75
76HOOKSRC=  ${DISTDIR}/hooks
77.PATH:              ${HOOKSRC}
78
79SCRIPTS=  dhcpcd-run-hooks
80SCRIPTSDIR=         ${_LIBEXECDIR}
81MAN+=               dhcpcd-run-hooks.8
82
83FILES=              01-test 20-resolv.conf 30-hostname
84FILESDIR= ${_HOOKDIR}
85
86# Example hooks that should not be installed by default
87.for f in 10-wpa_supplicant 15-timezone 29-lookup-hostname 50-ypbind
88FILES+=             ${f}
89FILESDIR_${f}=      ${_DATADIR}/dhcpcd/hooks
90.endfor
91
92.include <bsd.prog.mk>
93