SUBDIR=	lib libexec sbin bin usr.bin usr.sbin share

#build:
#	$(MAKE) includes
#	$(MAKE)
#	$(MAKE) install

includes:
	(cd ${.CURDIR}/include; $(MAKE) sysspecial)

install-includes:
	(cd ${.CURDIR}/include; $(MAKE) install)
	($(MAKE) bindbeforeinstall)

NRLFILES+=	kern/uipc_mbuf2.c
NRLFILES+=	net/if_dummy.c net/if_faith.c net/if_faith.h \
		net/if_gif.c net/if_gif.h net/if_stf.c net/if_stf.h \
		net/net_osdep.c net/net_osdep.h net/pfkeyv2.h \
		net/radix_art.c net/radix_art.h
NRLFILES+=	netinet/icmp6.h netinet/in4_cksum.c \
		netinet/in_gif.c netinet/in_gif.h netinet/ip6.h \
		netinet/ip_ecn.c netinet/ip_ecn.h \
		netinet/ip_encap.c netinet/ip_encap.h \
		netinet/sctp.h netinet/sctp_usrreq.c netinet/sctp_var.h
NRLFILES+=	netinet6/ah.h netinet6/ah_core.c \
		netinet6/ah_input.c netinet6/ah_output.c \
		netinet6/dest6.c netinet6/esp.h netinet6/esp_core.c \
		netinet6/esp_input.c netinet6/esp_output.c \
		netinet6/esp_rijndael.c netinet6/esp_rijndael.h \
		netinet6/esp_twofish.c netinet6/esp_twofish.h \
		netinet6/frag6.c netinet6/icmp6.c netinet6/icmp6.h \
		netinet6/in6.c netinet6/in6.h netinet6/in6_cksum.c \
		netinet6/in6_gif.c netinet6/in6_gif.h \
		netinet6/in6_ifattach.c netinet6/in6_ifattach.h \
		netinet6/in6_prefix.c netinet6/in6_prefix.h \
		netinet6/in6_proto.c netinet6/in6_src.c \
		netinet6/in6_var.h netinet6/ip6.h \
		netinet6/ip6_forward.c netinet6/ip6_fw.c \
		netinet6/ip6_fw.h netinet6/ip6_input.c \
		netinet6/ip6_mroute.c netinet6/ip6_mroute.h \
		netinet6/ip6_output.c netinet6/ip6_var.h \
		netinet6/ip6protosw.h netinet6/ipcomp.h \
		netinet6/ipcomp_core.c netinet6/ipcomp_input.c \
		netinet6/ipcomp_output.c netinet6/ipsec.c \
		netinet6/ipsec.h netinet6/mld6.c netinet6/mld6_var.h \
		netinet6/nd6.c netinet6/nd6.h netinet6/nd6_nbr.c \
		netinet6/nd6_rtr.c netinet6/pim6.h \
		netinet6/pim6_var.h netinet6/raw_ip6.c netinet6/raw_ipv6.c \
		netinet6/route6.c netinet6/scope6.c netinet6/scope6_var.h \
		netinet6/udp6_output.c

NRLDIRS=	sys/netkey sys/crypto

# actually, it removes old KAME files too
remove-nrl:
	-for i in ${NRLFILES}; do \
		/bin/rm -f ${.CURDIR}/sys/$$i; \
	done
	-for i in ${NRLDIRS}; do \
		/bin/rm -fr ${.CURDIR}/$$i; \
	done

# from src/lib/libc/bind/Makefile.inc
BINDDIR=${.CURDIR}/contrib/bind
BINDINCSRC=${BINDDIR}/src/include
bindbeforeinstall:
	cd ${BINDINCSRC} && install -c \
	    -o ${BINOWN} -g ${BINGRP} -m 444 hesiod.h irp.h irs.h \
	    netdb.h res_update.h resolv.h ${DESTDIR}/usr/include/
	cd ${BINDINCSRC}/arpa && install -c \
	    -o ${BINOWN} -g ${BINGRP} -m 444 inet.h nameser.h \
	    nameser_compat.h ${DESTDIR}/usr/include/arpa/
	cd ${BINDINCSRC}/isc && install -c -o ${BINOWN} -g ${BINGRP} -m 444 \
	    assertions.h dst.h eventlib.h heap.h irpmarshall.h list.h \
	    logging.h memcluster.h misc.h tree.h ${DESTDIR}/usr/include/isc/
	install -c -o ${BINOWN} -g ${BINGRP} -m 444 \
	    ${BINDDIR}/src/port/bsdos/include/sys/bitypes.h \
	    ${DESTDIR}/usr/include/sys/

PREFIX= /usr/local/v6
DIRS=	$(PREFIX) $(PREFIX)/bin $(PREFIX)/sbin $(PREFIX)/lib $(PREFIX)/etc \
	$(PREFIX)/libexec $(PREFIX)/man $(PREFIX)/share/doc/kame
SECTIONS=1 2 3 4 5 6 7 8 9 n

beforeinstall:
	for i in $(DIRS); do \
		[ -d $$i ] || mkdir -p $$i; \
	done
	for i in $(SECTIONS); do \
		[ -d $(PREFIX)/man/man$$i ] || mkdir -p $(PREFIX)/man/man$$i; \
		[ -d $(PREFIX)/man/cat$$i ] || mkdir -p $(PREFIX)/man/cat$$i; \
	done

afterinstall:
	cp kame/rtadvd/rtadvd.conf $(PREFIX)/etc/rtadvd.conf.sample
	cp kame/bgpd/bgpd.conf $(PREFIX)/etc/bgpd.conf.sample
	cp kame/ip6addrctl/ip6addrctl.conf.sample \
		 $(PREFIX)/etc/ip6addrctl.conf.sample
	if test -x $(PREFIX)/sbin/inet6d; then \
		cp kame/inet6d/inet6d.conf $(PREFIX)/etc/inet6d.conf.sample; \
	fi
	for i in $(DOCS); do \
		if test -f ${.CURDIR}/../$$i; then \
			cp ${.CURDIR}/../$$i $(PREFIX)/share/doc/kame; \
		fi \
	done
	cp ${.CURDIR}/INSTALL ${PREFIX}/share/doc/kame/INSTALL.bsdi4
	install -c -o ${BINOWN} -g ${BINGRP} -m 555 \
		${.CURDIR}/kame/send-pr/send-pr \
		${DESTDIR}${PREFIX}/bin/kame-send-pr

.include <bsd.subdir.mk>
.include "../Makefile.inc"
