dhcpcd(8): Set WARNS for sbin/dhcpcd.
[dragonfly.git] / sbin / dhcpcd / Makefile
1 # Derived from NetBSD's Makefile for dhcpcd
2
3 DISTDIR=        ${.CURDIR}/../../contrib/dhcpcd
4
5 PROG=           dhcpcd
6
7 SRCDIR=         ${DISTDIR}/src
8 .PATH:          ${SRCDIR}
9 CFLAGS+=        -DHAVE_CONFIG_H -I${.CURDIR} -I${SRCDIR} -I${DISTDIR}
10 SRCS=           common.c control.c dhcpcd.c duid.c eloop.c logerr.c
11 SRCS+=          if.c if-options.c route.c sa.c script.c
12 SRCS+=          dhcp-common.c dhcpcd-embedded.c
13 SRCS+=          if-bsd.c
14
15 CFLAGS+=        -DAUTH
16 SRCS+=          auth.c
17
18 CFLAGS+=        -DARP -DINET
19 SRCS+=          arp.c bpf.c dhcp.c ipv4.c
20 CFLAGS+=        -DIPV4LL -DARPING
21 SRCS+=          ipv4ll.c
22
23 CFLAGS+=        -DINET6
24 SRCS+=          ipv6.c ipv6nd.c
25 CFLAGS+=        -DDHCP6
26 SRCS+=          dhcp6.c
27
28 .PATH:          ${DISTDIR}/compat
29 SRCS+=          pidfile.c strtoi.c strtou.c
30 .PATH:          ${DISTDIR}/compat/crypt
31 SRCS+=          hmac.c
32
33 DPADD=          ${LIBMD} ${LIBCRYPTO}
34 LDADD=          -lmd -lprivate_crypto
35 LDFLAGS+=       ${PRIVATELIB_LDFLAGS}
36 CFLAGS+=        -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
44 CFLAGS+=        -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
67 MAN=            dhcpcd.conf.5 dhcpcd.8
68 .for f in dhcpcd.conf.5 dhcpcd.8
69 CLEANFILES+=    ${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().
75 WARNS?=         3
76
77 # NOTE:
78 # The configuration file 'dhcpcd.conf' is installed by 'etc/Makefile'
79
80 #
81 # Hooks
82 #
83
84 HOOKSRC=        ${DISTDIR}/hooks
85 .PATH:          ${HOOKSRC}
86
87 SCRIPTS=        dhcpcd-run-hooks
88 SCRIPTSDIR=     ${_LIBEXECDIR}
89 MAN+=           dhcpcd-run-hooks.8
90
91 FILES=          01-test 02-dump 20-resolv.conf 30-hostname
92 FILESDIR=       ${_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
96 FILES+=         ${f}
97 FILESDIR_${f}=  ${_DATADIR}/dhcpcd/hooks
98 .endfor
99
100 .for f in dhcpcd-run-hooks dhcpcd-run-hooks.8 50-ypbind
101 CLEANFILES+=    ${f}
102 ${f}: ${f}.in
103         sed ${_SED_CMDS} ${HOOKSRC}/${f}.in > $@
104 .endfor
105
106 .include <bsd.prog.mk>