summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2012-10-22 01:18:41 +0000
committermarcel <marcel@FreeBSD.org>2012-10-22 01:18:41 +0000
commit8412efbea82a893c704af85b8b51e68d1fdc217c (patch)
tree7dfa45acec5e77f85aeea486243e3989c98529c5 /share
parent6731953527d251334ba5f2b979c2eb86dccdf755 (diff)
downloadFreeBSD-src-8412efbea82a893c704af85b8b51e68d1fdc217c.zip
FreeBSD-src-8412efbea82a893c704af85b8b51e68d1fdc217c.tar.gz
Add ATF to the build. This is may be a bit rought around the egdes,
but committing it helps to get everyone on the same page and makes sure we make progress. Tinderbox breakages that are the result of this commit are entirely the committer's fault -- in other words: buildworld testing on amd64 only. Credits follow: Submitted by: Garrett Cooper <yanegomi@gmail.com> Sponsored by: Isilon Systems Based on work by: keramida@ Thanks to: gnn@, mdf@, mlaier@, sjg@ Special thanks to: keramida@
Diffstat (limited to 'share')
-rw-r--r--share/Makefile9
-rw-r--r--share/atf/Makefile37
-rw-r--r--share/doc/Makefile15
-rw-r--r--share/doc/atf/Makefile39
-rw-r--r--share/examples/Makefile3
-rw-r--r--share/examples/atf/Makefile39
-rw-r--r--share/man/man1/Makefile8
-rw-r--r--share/man/man4/Makefile7
-rw-r--r--share/man/man5/Makefile7
-rw-r--r--share/man/man7/Makefile15
-rw-r--r--share/mk/bsd.libnames.mk2
-rw-r--r--share/mk/bsd.own.mk1
-rw-r--r--share/mk/bsd.progs.mk350
-rw-r--r--share/xml/Makefile36
-rw-r--r--share/xml/Makefile.inc30
-rw-r--r--share/xml/atf/Makefile39
-rw-r--r--share/xsl/Makefile36
-rw-r--r--share/xsl/Makefile.inc30
-rw-r--r--share/xsl/atf/Makefile39
19 files changed, 740 insertions, 2 deletions
diff --git a/share/Makefile b/share/Makefile
index e39da7f..075f116 100644
--- a/share/Makefile
+++ b/share/Makefile
@@ -5,7 +5,8 @@
# Do not include `info' in the SUBDIR list, it is handled separately.
-SUBDIR= ${_colldef} \
+SUBDIR= ${_atf} \
+ ${_colldef} \
${_dict} \
${_doc} \
dtrace \
@@ -26,10 +27,16 @@ SUBDIR= ${_colldef} \
tabset \
termcap \
${_timedef} \
+ xml \
+ xsl \
${_zoneinfo}
# NB: keep these sorted by MK_* knobs
+.if ${MK_ATF} != "no"
+_atf= atf
+.endif
+
.if ${MK_BSNMP} != "no"
_snmp= snmp
.endif
diff --git a/share/atf/Makefile b/share/atf/Makefile
new file mode 100644
index 0000000..f5318c4
--- /dev/null
+++ b/share/atf/Makefile
@@ -0,0 +1,37 @@
+#-
+# Copyright (c) 2012 EMC Corporation.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD$
+
+ATF= ${.CURDIR}/../../contrib/atf
+
+.PATH: ${ATF}/atf-run/sample
+
+NO_OBJ=
+
+FILESDIR= ${SHAREDIR}/atf
+FILES= atf-run.hooks
+
+.include <bsd.prog.mk>
diff --git a/share/doc/Makefile b/share/doc/Makefile
index 7eabbd9..3f36375 100644
--- a/share/doc/Makefile
+++ b/share/doc/Makefile
@@ -3,7 +3,16 @@
.include <bsd.own.mk>
-SUBDIR= ${_bind9} IPv6 legal ${_llvm} ${_roffdocs}
+SUBDIR= ${_IPv6} \
+ ${_atf} \
+ ${_bind9} \
+ legal \
+ ${_llvm} \
+ ${_roffdocs}
+
+.if ${MK_ATF} != "no"
+_atf= atf
+.endif
.if ${MK_BIND} != "no"
_bind9= bind9
@@ -13,6 +22,10 @@ _bind9= bind9
_llvm= llvm
.endif
+.if ${MK_INET6} != "no"
+_IPv6= IPv6
+.endif
+
# FIXME this is not a real solution ...
.if ${MK_GROFF} != "no"
_roffdocs= papers psd smm usd
diff --git a/share/doc/atf/Makefile b/share/doc/atf/Makefile
new file mode 100644
index 0000000..1da915b
--- /dev/null
+++ b/share/doc/atf/Makefile
@@ -0,0 +1,39 @@
+#-
+# Copyright (c) 2011 Google, Inc.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD$
+
+ATF= ${.CURDIR}/../../../contrib/atf
+.PATH: ${ATF}
+.PATH: ${ATF}/doc
+
+NO_OBJ=
+
+FILESGROUPS= TOP
+
+TOPDIR= ${SHAREDIR}/doc/atf
+TOP= AUTHORS COPYING NEWS README
+
+.include <bsd.prog.mk>
diff --git a/share/examples/Makefile b/share/examples/Makefile
index d3fab14..5cfd76b 100644
--- a/share/examples/Makefile
+++ b/share/examples/Makefile
@@ -242,6 +242,9 @@ etc-examples:
.endif
.if ${SHARED} != "symlinks"
+.if ${MK_ATF} != "no"
+SUBDIR+=atf
+.endif
.if ${MK_IPFILTER} != "no"
SUBDIR+=ipfilter
.endif
diff --git a/share/examples/atf/Makefile b/share/examples/atf/Makefile
new file mode 100644
index 0000000..774502a
--- /dev/null
+++ b/share/examples/atf/Makefile
@@ -0,0 +1,39 @@
+#-
+# Copyright (c) 2011 Google, Inc.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD$
+
+ATF= ${.CURDIR}/../../../contrib/atf
+
+.PATH: ${ATF}/atf-report
+.PATH: ${ATF}/atf-run/sample
+
+NO_OBJ=
+
+FILESDIR= ${SHAREDIR}/examples/atf
+FILES= atf-run.hooks \
+ tests-results.css
+
+.include <bsd.prog.mk>
diff --git a/share/man/man1/Makefile b/share/man/man1/Makefile
index 43bf944..23bc1d8 100644
--- a/share/man/man1/Makefile
+++ b/share/man/man1/Makefile
@@ -1,8 +1,16 @@
# @(#)Makefile 8.1 (Berkeley) 6/5/93
# $FreeBSD$
+.include <bsd.own.mk>
+
MAN= builtin.1 intro.1
+.if ${MK_ATF} != "no"
+ATF= ${.CURDIR}/../../../contrib/atf
+.PATH: ${ATF}/doc
+MAN+= atf-test-program.1
+.endif
+
# Create MLINKS for Shell built in commands for which there are no userland
# utilities of the same name:
MLINKS= builtin.1 alias.1 \
diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index 5ac8ff6..7e10d6a 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -60,6 +60,7 @@ MAN= aac.4 \
atkbd.4 \
atkbdc.4 \
${_atp.4} \
+ ${_atf_test_case.4} \
${_atrtc.4} \
${_attimer.4} \
audit.4 \
@@ -805,6 +806,12 @@ _nvram2env.4= nvram2env.4
SUBDIR= man4.${MACHINE_CPUARCH}
.endif
+.if ${MK_ATF} != "no"
+ATF= ${.CURDIR}/../../../contrib/atf
+.PATH: ${ATF}/doc
+_atf_test_case.4= atf-test-case.4
+.endif
+
.if ${MK_PF} != "no"
_pf.4= pf.4
_pflog.4= pflog.4
diff --git a/share/man/man5/Makefile b/share/man/man5/Makefile
index dac1066..5a337b8 100644
--- a/share/man/man5/Makefile
+++ b/share/man/man5/Makefile
@@ -6,6 +6,7 @@
#MISSING: dump.5 plot.5
MAN= acct.5 \
ar.5 \
+ ${_atf_formats.5} \
a.out.5 \
bluetooth.device.conf.5 \
bluetooth.hosts.5 \
@@ -80,6 +81,12 @@ MLINKS+=quota.user.5 quota.group.5
MLINKS+=rc.conf.5 rc.conf.local.5
MLINKS+=resolver.5 resolv.conf.5
+.if ${MK_ATF} != "no"
+ATF= ${.CURDIR}/../../../contrib/atf
+.PATH: ${ATF}/doc
+_atf_formats.5= atf-formats.5
+.endif
+
.if ${MK_HESIOD} != "no"
MAN+= hesiod.conf.5
.endif
diff --git a/share/man/man7/Makefile b/share/man/man7/Makefile
index 011fbaf..8417934 100644
--- a/share/man/man7/Makefile
+++ b/share/man/man7/Makefile
@@ -1,6 +1,8 @@
# @(#)Makefile 8.1 (Berkeley) 6/5/93
# $FreeBSD$
+.include <bsd.own.mk>
+
#MISSING: eqnchar.7 ms.7 term.7
MAN= adding_user.7 \
ascii.7 \
@@ -34,4 +36,17 @@ MLINKS+= c99.7 c78.7
MLINKS+= c99.7 c89.7
MLINKS+= c99.7 c90.7
+.if ${MK_ATF} != "no"
+ATF= ${.CURDIR}/../../../contrib/atf
+.PATH: ${ATF}/doc
+MAN+= atf.7
+
+CLEANFILES+= atf.7 atf.7.tmp
+atf.7: atf.7.in
+ sed -e 's,__DOCDIR__,${DOCDIR}/atf,g' \
+ -e 's,__TESTSDIR__,${TESTSBASE},g' \
+ < ${.ALLSRC} > ${.TARGET}.tmp
+ mv ${.TARGET}.tmp ${.TARGET}
+.endif
+
.include <bsd.prog.mk>
diff --git a/share/mk/bsd.libnames.mk b/share/mk/bsd.libnames.mk
index f74959f..bcaec4b 100644
--- a/share/mk/bsd.libnames.mk
+++ b/share/mk/bsd.libnames.mk
@@ -13,6 +13,8 @@ LIBCRT0?= ${DESTDIR}${LIBDIR}/crt0.o
LIBALIAS?= ${DESTDIR}${LIBDIR}/libalias.a
LIBARCHIVE?= ${DESTDIR}${LIBDIR}/libarchive.a
LIBASN1?= ${DESTDIR}${LIBDIR}/libasn1.a
+LIBATF_C?= ${DESTDIR}${LIBDIR}/libatf-c.a
+LIBATF_CXX?= ${DESTDIR}${LIBDIR}/libatf-c++.a
LIBATM?= ${DESTDIR}${LIBDIR}/libatm.a
LIBAUDITD?= ${DESTDIR}${LIBDIR}/libauditd.a
LIBAVL?= ${DESTDIR}${LIBDIR}/libavl.a
diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk
index 2c1c04e..3a2658c 100644
--- a/share/mk/bsd.own.mk
+++ b/share/mk/bsd.own.mk
@@ -306,6 +306,7 @@ __DEFAULT_YES_OPTIONS = \
APM \
ASSERT_DEBUG \
AT \
+ ATF \
ATM \
AUDIT \
AUTHPF \
diff --git a/share/mk/bsd.progs.mk b/share/mk/bsd.progs.mk
new file mode 100644
index 0000000..531c2ef
--- /dev/null
+++ b/share/mk/bsd.progs.mk
@@ -0,0 +1,350 @@
+# from: @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91
+# $FreeBSD$
+
+.include <bsd.init.mk>
+
+.SUFFIXES: .out .o .c .cc .cpp .cxx .C .m .y .l .ln .s .S .asm
+
+.if ${MK_MAN} == "no"
+NO_MAN=
+.endif
+
+# Legacy knobs
+.if defined(PROG) || defined(PROG_CXX)
+. if defined(PROG)
+PROGS= ${PROG}
+. endif
+. if defined(PROG_CXX)
+PROGS= ${PROG_CXX}
+PROGS_CXX= ${PROG_CXX}
+. endif
+# Loop once to keep pattern and avoid namespace pollution
+. for _P in ${PROGS}
+. if defined(INTERNALPROG)
+INTERNALPROG.${_P}=
+. endif
+. if !defined(NO_MAN)
+. if defined(MAN)
+MAN.${_P}= ${MAN}
+. else
+. for sect in 1 1aout 2 3 4 5 6 7 8 9
+. if defined(MAN${sect})
+MAN.${_P}= ${MAN${sect}}
+. endif
+. endfor
+. endif
+. endif # defined(NO_MAN)
+. if defined(NLSNAME) && !empty(NLSNAME)
+NLSNAME.${P}:= ${NLSNAME}
+. endif
+. if defined(OBJS)
+OBJS.${_P}:= ${OBJS}
+. endif
+. if defined(PRECIOUSPROG)
+PRECIOUSPROG.${_P}=
+. endif
+. if defined(PROGNAME)
+PROGNAME.${_P}= ${PROGNAME}
+. endif
+. if defined(SRCS)
+SRCS.${_P}:= ${SRCS}
+. endif
+. endfor
+.else # !defined(PROG) && !defined(PROG_CXX)
+. if defined(PROGS_CXX) && !empty(PROGS_CXX)
+PROGS+= ${PROGS_CXX}
+. endif
+.endif # defined(PROG) || defined(PROG_CXX)
+
+.if defined(PROGS_CXX) && !empty(PROGS_CXX)
+. for _P in ${PROGS_CXX}
+PROG_CXX.${_P}=
+. endfor
+.endif
+
+# Avoid recursive variables
+.undef NLSNAME
+
+.if defined(COPTS)
+CFLAGS+=${COPTS}
+.endif
+
+.if defined(DEBUG_FLAGS)
+. if ${MK_CTF} != "no" && ${DEBUG_FLAGS:M-g} != ""
+CTFFLAGS+= -g
+. endif
+CFLAGS+=${DEBUG_FLAGS}
+CXXFLAGS+=${DEBUG_FLAGS}
+.endif
+
+STRIP?= -s
+
+.if ${MK_ASSERT_DEBUG} == "no"
+CFLAGS+= -DNDEBUG
+NO_WERROR=
+.endif
+
+.for _P in ${PROGS}
+
+BINDIR.${_P}?= ${BINDIR}
+BINGRP.${_P}?= ${BINGRP}
+BINMODE.${_P}?= ${BINMODE}
+BINOWN.${_P}?= ${BINOWN}
+
+CFLAGS.${_P}+= ${CFLAGS}
+CXXFLAGS.${_P}+= ${CXXFLAGS}
+DPADD.${_P}+= ${DPADD}
+LDADD.${_P}+= ${LDADD}
+LDFLAGS.${_P}+= ${LDFLAGS}
+
+INSTALLFLAGS.${_P}?= ${INSTALLFLAGS}
+
+. if defined(PRECIOUSPROG.${_P})
+. if !defined(NO_FSCHG) && !defined(NO_FSCHG.${_P})
+INSTALLFLAGS.${_P}+= -fschg
+. endif
+INSTALLFLAGS.${_P}+= -S
+. endif
+
+NO_SHARED.${_P}?= ${NO_SHARED}
+
+. if !defined(NLSDIR.${_P})
+NLSDIR.${_P}:= ${NLSDIR}
+. endif
+. undef NLSDIR
+
+. if !empty(NO_SHARED.${_P}) && ${NO_SHARED.${_P}:tl} != "no"
+LDFLAGS.${_P}+= -static
+. endif
+
+. if defined(SRCS.${_P})
+
+_SRCS:= ${SRCS.${_P}}
+OBJS.${_P}+= ${_SRCS:N*.h:R:S/$/.o/g}
+
+. if target(beforelinking)
+${_P}: ${OBJS.${_P}} beforelinking
+. else
+${_P}: ${OBJS.${_P}}
+. endif
+. if defined(PROG_CXX.${_P})
+ ${CXX} ${CXXFLAGS.${_P}} ${LDFLAGS.${_P}} -o ${.TARGET} ${OBJS.${_P}} \
+ ${LDADD.${_P}}
+. else
+ ${CC} ${CFLAGS.${_P}} ${LDFLAGS.${_P}} -o ${.TARGET} ${OBJS.${_P}} \
+ ${LDADD.${_P}}
+. endif
+. if ${MK_CTF} != "no"
+ ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${OBJS.${_P}}
+. endif
+
+. else # !defined(SRCS.${_P})
+
+. if !target(${_P})
+. if defined(PROG_CXX.${_P})
+SRCS.${_P}?= ${_P}.cc
+. else
+SRCS.${_P}?= ${_P}.c
+. endif
+
+# Always make an intermediate object file because:
+# - it saves time rebuilding when only the library has changed
+# - the name of the object gets put into the executable symbol table instead of
+# the name of a variable temporary object.
+# - it's useful to keep objects around for crunching.
+OBJS.${_P}:= ${_P}.o
+
+. if target(beforelinking)
+${_P}: ${OBJS.${_P}} beforelinking
+. else
+${_P}: ${OBJS.${_P}}
+. endif # target(beforelinking)
+. if defined(PROG_CXX.${_P})
+ ${CXX} ${CXXFLAGS.${_P}} ${LDFLAGS.${_P}} -o ${.TARGET} ${OBJS.${_P}} \
+ ${LDADD.${_P}}
+. else
+ ${CC} ${CFLAGS.${_P}} ${LDFLAGS.${_P}} -o ${.TARGET} ${OBJS.${_P}} \
+ ${LDADD.${_P}}
+. endif
+. if ${MK_CTF} != "no"
+ ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${OBJS.${_P}}
+. endif
+
+. endif # !target(${_P})
+
+. endif # defined(SRCS.${_P})
+
+CLEANFILES+= ${OBJS.${_P}}
+
+.endfor # for _P in ${PROGS}
+
+all: objwarn ${PROGS} ${SCRIPTS}
+
+.if !defined(NO_MAN)
+. for _P in ${PROGS}
+MAN.${_P}?= ${_P}.1
+MAN:= ${MAN.${_P}}
+. include <bsd.man.mk>
+. endfor
+. if target(_manpages) # bsd.man.mk was included
+all: _manpages
+. endif
+.endif
+
+CLEANFILES+= ${PROGS}
+
+.include <bsd.libnames.mk>
+
+_EXTRADEPEND:
+.for _P in ${PROGS}
+. if !empty(LDFLAGS.${P}:M-nostdlib)
+. if !empty(DPADD.${_P})
+ echo ${_P}: ${DPADD.${_P}} >> ${DEPENDFILE}
+. endif
+. else
+ echo ${_P}: ${LIBC} ${DPADD.${_P}} >> ${DEPENDFILE}
+. if defined(PROG_CXX.${_P})
+. if !empty(CXXFLAGS.${P}:M-stdlib=libc++)
+ echo ${_P}: ${LIBCPLUSPLUS} >> ${DEPENDFILE}
+. else
+ echo ${_P}: ${LIBSTDCPLUSPLUS} >> ${DEPENDFILE}
+. endif
+. endif
+. endif
+.endfor
+
+.if !target(install)
+
+. if !target(realinstall)
+
+. for _P in ${PROGS}
+
+. if !defined(INTERNALPROG.${_P})
+
+.ORDER: beforeinstall _proginstall.${_P}
+_proginstall.${_P}:
+. if defined(PROGNAME.${_P})
+ ${INSTALL} ${STRIP} -o ${BINOWN.${_P}} -g ${BINGRP.${_P}} \
+ -m ${BINMODE.${_P}} ${INSTALLFLAGS.${_P}} ${_P} \
+ ${DESTDIR}${BINDIR.${_P}}/${PROGNAME.${_P}}
+. else
+ ${INSTALL} ${STRIP} -o ${BINOWN.${_P}} -g ${BINGRP.${_P}} \
+ -m ${BINMODE.${_P}} ${INSTALLFLAGS.${_P}} ${_P} \
+ ${DESTDIR}${BINDIR.${_P}}
+. endif
+
+realinstall: _proginstall.${_P}
+
+. endif # !defined(INTERNALPROG.${_P})
+
+. endfor # for _P in ${PROGS}
+
+. endif # !target(realinstall)
+
+. if defined(SCRIPTS) && !empty(SCRIPTS)
+SCRIPTSDIR?= ${BINDIR}
+SCRIPTSOWN?= ${BINOWN}
+SCRIPTSGRP?= ${BINGRP}
+SCRIPTSMODE?= ${BINMODE}
+
+. for S in ${SCRIPTS}
+
+realinstall: scriptsinstall
+.ORDER: beforeinstall scriptsinstall
+
+. if defined(SCRIPTSNAME)
+SCRIPTSNAME_${S}?= ${SCRIPTSNAME}
+. else
+SCRIPTSNAME_${S}?= ${S:T:R}
+. endif
+
+SCRIPTSDIR_${S}?= ${SCRIPTSDIR}
+SCRIPTSOWN_${S}?= ${SCRIPTSOWN}
+SCRIPTSGRP_${S}?= ${SCRIPTSGRP}
+SCRIPTSMODE_${S}?= ${SCRIPTSMODE}
+
+scriptsinstall: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}
+
+${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}: ${S}
+ ${INSTALL} -o ${SCRIPTSOWN_${S}} \
+ -g ${SCRIPTSGRP_${S}} \
+ -m ${SCRIPTSMODE_${S}} \
+ ${.ALLSRC} \
+ ${.TARGET}
+
+. endfor # for S in ${SCRIPTS}
+
+. endif # defined(SCRIPTS) && !empty(SCRIPTS)
+
+.endif # !target(install)
+
+.if !defined(NO_MAN)
+. if target(_manpages) # bsd.man.mk was included
+realinstall: _maninstall
+. endif
+.endif
+
+# Wrap bsd.nls.mk because I can't force that Makefile snippet to work only with
+# ${PROGS}.
+.for _P in ${PROGS}
+NLSNAME.${_P}?= ${_P}
+NLS:= ${NLS.${_P}}
+NLSDIR:= ${NLSDIR.${_P}}
+NLSNAME:= ${NLSNAME.${_P}}
+.include <bsd.nls.mk>
+.endfor
+
+.include <bsd.files.mk>
+.include <bsd.incs.mk>
+.include <bsd.links.mk>
+
+.if !target(lint)
+. for _P in ${PROGS}
+. if !target(lint.${_P})
+. if defined(PROG_CXX.${_P})
+lint.${_P}:
+. else
+_CFLAGS:= ${CFLAGS.${_P}}
+_SRCS:= ${SRCS.${_P}}
+lint.${_P}: ${_SRCS:M*.c}
+ ${LINT} ${LINTFLAGS} ${_CFLAGS:M-[DIU]*} ${.ALLSRC}
+. endif
+. endif
+lint: lint.${_P}
+
+. endfor
+.endif # !target(lint)
+
+.for _P in ${PROGS}
+CFLAGS:= ${CFLAGS.${_P}}
+CXXFLAGS:= ${CXXFLAGS.${_P}}
+# XXX: Pollutes DPADD.${_P} and LDADD.${_P} above
+#DPADD:= ${DPADD.${_P}}
+#LDADD:= ${LDADD.${_P}}
+SRCS:= ${SRCS.${_P}}
+. include <bsd.dep.mk>
+# bsd.dep.mk mangles SRCS
+SRCS.${_P}:= ${SRCS}
+. undef DPADD LDADD
+.endfor
+
+# XXX: emulate the old bsd.prog.mk by allowing Makefiles that didn't set
+# ${PROG*} to function with this Makefile snippet.
+.if empty(PROGS)
+. include <bsd.dep.mk>
+.endif
+
+.if !exists(${.OBJDIR}/${DEPENDFILE})
+. for _P in ${PROGS}
+_SRCS:= ${SRCS.${_P}}
+${OBJS.${_P}}: ${_SRCS:M*.h}
+. endfor
+.endif
+
+.include <bsd.obj.mk>
+
+.include <bsd.sys.mk>
+
+.if defined(PORTNAME)
+.include <bsd.pkg.mk>
+.endif
diff --git a/share/xml/Makefile b/share/xml/Makefile
new file mode 100644
index 0000000..0fb0225
--- /dev/null
+++ b/share/xml/Makefile
@@ -0,0 +1,36 @@
+#-
+# Copyright (c) 2012 EMC Corporation.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+SUBDIR+= ${_atf}
+
+.if ${MK_ATF} != "no"
+_atf= atf
+.endif
+
+.include <bsd.subdir.mk>
diff --git a/share/xml/Makefile.inc b/share/xml/Makefile.inc
new file mode 100644
index 0000000..e1c3398
--- /dev/null
+++ b/share/xml/Makefile.inc
@@ -0,0 +1,30 @@
+#-
+# Copyright (c) 2012 EMC Corporation.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD$
+
+BINDIR?= ${SHAREDIR}/xml
+
+# vim: syntax=make
diff --git a/share/xml/atf/Makefile b/share/xml/atf/Makefile
new file mode 100644
index 0000000..cf56ff1
--- /dev/null
+++ b/share/xml/atf/Makefile
@@ -0,0 +1,39 @@
+#-
+# Copyright (c) 2011 Google, Inc.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD$
+
+ATF= ${.CURDIR}/../../../contrib/atf
+
+.PATH: ${ATF}/atf-report
+
+NO_OBJ=
+
+FILESGROUPS= XML
+
+XMLDIR= ${SHAREDIR}/xml/atf
+XML= tests-results.dtd
+
+.include <bsd.prog.mk>
diff --git a/share/xsl/Makefile b/share/xsl/Makefile
new file mode 100644
index 0000000..0fb0225
--- /dev/null
+++ b/share/xsl/Makefile
@@ -0,0 +1,36 @@
+#-
+# Copyright (c) 2012 EMC Corporation.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+SUBDIR+= ${_atf}
+
+.if ${MK_ATF} != "no"
+_atf= atf
+.endif
+
+.include <bsd.subdir.mk>
diff --git a/share/xsl/Makefile.inc b/share/xsl/Makefile.inc
new file mode 100644
index 0000000..c2ed469
--- /dev/null
+++ b/share/xsl/Makefile.inc
@@ -0,0 +1,30 @@
+#-
+# Copyright (c) 2012 EMC Corporation.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD$
+
+BINDIR?= ${SHAREDIR}/xsl
+
+# vim: syntax=make
diff --git a/share/xsl/atf/Makefile b/share/xsl/atf/Makefile
new file mode 100644
index 0000000..73e84f2
--- /dev/null
+++ b/share/xsl/atf/Makefile
@@ -0,0 +1,39 @@
+#-
+# Copyright (c) 2011 Google, Inc.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD$
+
+ATF= ${.CURDIR}/../../../contrib/atf
+
+.PATH: ${ATF}/atf-report
+
+NO_OBJ=
+
+FILESGROUPS= XSL
+
+XSLDIR= ${SHAREDIR}/xsl/atf
+XSL= tests-results.xsl
+
+.include <bsd.prog.mk>
OpenPOWER on IntegriCloud