xref: /dragonfly/sbin/dhcpcd/Makefile (revision 75a74ed8)
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+=	-DARP -DINET
19SRCS+=		arp.c bpf.c dhcp.c ipv4.c
20CFLAGS+=	-DIPV4LL -DARPING
21SRCS+=		ipv4ll.c
22
23CFLAGS+=	-DINET6
24SRCS+=		ipv6.c ipv6nd.c
25CFLAGS+=	-DDHCP6
26SRCS+=		dhcp6.c
27
28.PATH:		${DISTDIR}/compat
29SRCS+=		pidfile.c strtoi.c strtou.c
30.PATH:		${DISTDIR}/compat/crypt
31SRCS+=		hmac.c
32
33DPADD=		${LIBMD} ${LIBCRYPTO}
34LDADD=		-lmd -lprivate_crypto
35LDFLAGS+=	${PRIVATELIB_LDFLAGS}
36CFLAGS+=	-I${.CURDIR}/../../crypto/libressl/include
37
38# system directories
39_SYSCONFDIR=	/etc
40_LIBDIR=	/usr/lib
41_LIBEXECDIR=	/usr/libexec
42_DBDIR=		/var/db/dhcpcd
43_RUNDIR=	/var/run
44CFLAGS+=	-DSYSCONFDIR='"${_SYSCONFDIR}"' \
45		-DSBINDIR='"${BINDIR}"' \
46		-DLIBDIR='"${_LIBDIR}"' \
47		-DLIBEXECDIR='"${_LIBEXECDIR}"' \
48		-DDBDIR='"${_DBDIR}"' \
49		-DRUNDIR='"${_RUNDIR}"'
50
51_DATADIR=	/usr/share/examples
52_HOOKDIR=	${_LIBEXECDIR}/dhcpcd-hooks
53_SED_CMDS=	-e 's:@SYSCONFDIR@:${_SYSCONFDIR}:g' \
54		-e 's:@DATADIR@:${_DATADIR}:g' \
55		-e 's:@DBDIR@:${_DBDIR}:g' \
56		-e 's:@LIBDIR@:${_LIBDIR}:g' \
57		-e 's:@RUNDIR@:${_RUNDIR}:g' \
58		-e 's:@HOOKDIR@:${_HOOKDIR}:g' \
59		-e 's:@SCRIPT@:${_LIBEXECDIR}/dhcpcd-run-hooks:g' \
60		-e 's:@SERVICEEXISTS@::g' \
61		-e 's:@SERVICECMD@::g' \
62		-e 's:@SERVICESTATUS@::g' \
63		-e 's:@STATUSARG@::g' \
64		-e 's:@YPDOMAIN_DIR@::g' \
65		-e 's:@YPDOMAIN_SUFFIX@::g'
66
67MAN=		dhcpcd.conf.5 dhcpcd.8
68.for f in dhcpcd.conf.5 dhcpcd.8
69CLEANFILES+=	${f}
70${f}: ${f}.in
71	sed ${_SED_CMDS} ${SRCDIR}/${f}.in > $@
72.endfor
73
74# XXX -Wunused-parameter in duid.c, not implemented duid_machineuuid().
75WARNS?=		3
76
77# NOTE:
78# The configuration file 'dhcpcd.conf' is installed by 'etc/Makefile'
79
80#
81# Hooks
82#
83
84HOOKSRC=	${DISTDIR}/hooks
85.PATH:		${HOOKSRC}
86
87SCRIPTS=	dhcpcd-run-hooks
88SCRIPTSDIR=	${_LIBEXECDIR}
89MAN+=		dhcpcd-run-hooks.8
90
91FILES=		01-test 02-dump 20-resolv.conf 30-hostname
92FILESDIR=	${_HOOKDIR}
93
94# Example hooks that should not be installed by default
95.for f in 10-wpa_supplicant 15-timezone 29-lookup-hostname 50-ypbind
96FILES+=		${f}
97FILESDIR_${f}=	${_DATADIR}/dhcpcd/hooks
98.endfor
99
100.for f in dhcpcd-run-hooks dhcpcd-run-hooks.8 50-ypbind
101CLEANFILES+=	${f}
102${f}: ${f}.in
103	sed ${_SED_CMDS} ${HOOKSRC}/${f}.in > $@
104.endfor
105
106.include <bsd.prog.mk>
107