xref: /freebsd/share/examples/Makefile (revision a5921bc3653e2e286715e6fe8d473ec0d02da38c)
17f3dea24SPeter Wemm# $FreeBSD$
299e4ba42SGarrett Wollman#
399e4ba42SGarrett Wollman# Doing a make install builds /usr/share/examples
499e4ba42SGarrett Wollman
5c6063d0dSWarner Losh.include <src.opts.mk>
6e1fe3dbaSRuslan Ermilov
7*a5921bc3SGlen BarberPACKAGE=examples
8*a5921bc3SGlen BarberFILESDIR=	${SHAREDIR}/examples
9*a5921bc3SGlen Barber
10*a5921bc3SGlen Barber.for _XFILE in ${XFILES}
11*a5921bc3SGlen BarberFILESGROUPS+=	${_XFILE}
12*a5921bc3SGlen BarberPACKAGE_${_XFILE}?=examples
13*a5921bc3SGlen Barber${_XFILE}DIR=	${SHAREDIR}/examples/${_XFILE:H}
14*a5921bc3SGlen Barber.endfor
15*a5921bc3SGlen Barber
16aed191e5SRuslan ErmilovLDIRS=	BSD_daemon \
17aed191e5SRuslan Ermilov	FreeBSD_version \
18aed191e5SRuslan Ermilov	IPv6 \
19aed191e5SRuslan Ermilov	bootforth \
2012330831SEitan Adler	csh \
21aed191e5SRuslan Ermilov	diskless \
22aed191e5SRuslan Ermilov	drivers \
23aed191e5SRuslan Ermilov	etc \
24aed191e5SRuslan Ermilov	find_interface \
25aed191e5SRuslan Ermilov	ibcs2 \
26ee9c0bb3SAndriy Gapon	indent \
27aed191e5SRuslan Ermilov	ipfw \
283082dd3fSJulian Elischer	jails \
29aed191e5SRuslan Ermilov	kld \
30aed191e5SRuslan Ermilov	libvgl \
31aed191e5SRuslan Ermilov	mdoc \
32aed191e5SRuslan Ermilov	netgraph \
33aed191e5SRuslan Ermilov	perfmon \
34aed191e5SRuslan Ermilov	ppi \
35aed191e5SRuslan Ermilov	ppp \
36aed191e5SRuslan Ermilov	printing \
37aed191e5SRuslan Ermilov	ses \
38aed191e5SRuslan Ermilov	scsi_target \
3912fe6c35SEdward Tomasz Napierala	sunrpc \
4012fe6c35SEdward Tomasz Napierala	uefisign
41ca6aa03bSPoul-Henning Kamp
42aed191e5SRuslan ErmilovXFILES=	BSD_daemon/FreeBSD.pfa \
43aed191e5SRuslan Ermilov	BSD_daemon/README \
44aed191e5SRuslan Ermilov	BSD_daemon/beastie.eps \
45aed191e5SRuslan Ermilov	BSD_daemon/beastie.fig \
46aed191e5SRuslan Ermilov	BSD_daemon/eps.patch \
47aed191e5SRuslan Ermilov	BSD_daemon/poster.sh \
48aed191e5SRuslan Ermilov	FreeBSD_version/FreeBSD_version.c \
49aed191e5SRuslan Ermilov	FreeBSD_version/Makefile \
50aed191e5SRuslan Ermilov	FreeBSD_version/README \
51aed191e5SRuslan Ermilov	IPv6/USAGE \
52aed191e5SRuslan Ermilov	bootforth/README \
53aed191e5SRuslan Ermilov	bootforth/boot.4th \
54aed191e5SRuslan Ermilov	bootforth/frames.4th \
55aed191e5SRuslan Ermilov	bootforth/loader.rc \
56aed191e5SRuslan Ermilov	bootforth/menu.4th \
57aed191e5SRuslan Ermilov	bootforth/menuconf.4th \
58aed191e5SRuslan Ermilov	bootforth/screen.4th \
5912330831SEitan Adler	csh/dot.cshrc \
60aed191e5SRuslan Ermilov	diskless/ME \
61aed191e5SRuslan Ermilov	diskless/README.BOOTP \
62aed191e5SRuslan Ermilov	diskless/README.TEMPLATING \
63aed191e5SRuslan Ermilov	diskless/clone_root \
64aed191e5SRuslan Ermilov	drivers/README \
65aed191e5SRuslan Ermilov	drivers/make_device_driver.sh \
66aed191e5SRuslan Ermilov	drivers/make_pseudo_driver.sh \
67aed191e5SRuslan Ermilov	etc/README.examples \
68aed191e5SRuslan Ermilov	etc/bsd-style-copyright \
69aed191e5SRuslan Ermilov	etc/make.conf \
70aed191e5SRuslan Ermilov	find_interface/Makefile \
71aed191e5SRuslan Ermilov	find_interface/README \
72aed191e5SRuslan Ermilov	find_interface/find_interface.c \
73aed191e5SRuslan Ermilov	ibcs2/README \
74aed191e5SRuslan Ermilov	ibcs2/hello.uu \
75ee9c0bb3SAndriy Gapon	indent/indent.pro \
76aed191e5SRuslan Ermilov	ipfw/change_rules.sh \
773082dd3fSJulian Elischer	jails/README \
78aed191e5SRuslan Ermilov	kld/Makefile \
79aed191e5SRuslan Ermilov	kld/cdev/Makefile \
80aed191e5SRuslan Ermilov	kld/cdev/README \
81aed191e5SRuslan Ermilov	kld/cdev/module/Makefile \
82aed191e5SRuslan Ermilov	kld/cdev/module/cdev.c \
83aed191e5SRuslan Ermilov	kld/cdev/module/cdev.h \
84aed191e5SRuslan Ermilov	kld/cdev/module/cdevmod.c \
85aed191e5SRuslan Ermilov	kld/cdev/test/Makefile \
86aed191e5SRuslan Ermilov	kld/cdev/test/testcdev.c \
87aed191e5SRuslan Ermilov	kld/dyn_sysctl/Makefile \
88aed191e5SRuslan Ermilov	kld/dyn_sysctl/README \
89aed191e5SRuslan Ermilov	kld/dyn_sysctl/dyn_sysctl.c \
90cb174b37SAntoine Brodin	kld/firmware/Makefile \
91cb174b37SAntoine Brodin	kld/firmware/README \
92cb174b37SAntoine Brodin	kld/firmware/fwconsumer/Makefile \
93cb174b37SAntoine Brodin	kld/firmware/fwconsumer/fw_consumer.c \
94cb174b37SAntoine Brodin	kld/firmware/fwimage/Makefile \
95bedca8b1SEd Maste	kld/firmware/fwimage/firmware.img.uu \
96071e1365SLawrence Stewart	kld/khelp/Makefile \
97071e1365SLawrence Stewart	kld/khelp/README \
98071e1365SLawrence Stewart	kld/khelp/h_example.c \
99aed191e5SRuslan Ermilov	kld/syscall/Makefile \
100aed191e5SRuslan Ermilov	kld/syscall/module/Makefile \
101aed191e5SRuslan Ermilov	kld/syscall/module/syscall.c \
102aed191e5SRuslan Ermilov	kld/syscall/test/Makefile \
103aed191e5SRuslan Ermilov	kld/syscall/test/call.c \
104aed191e5SRuslan Ermilov	libvgl/Makefile \
105aed191e5SRuslan Ermilov	libvgl/demo.c \
106f1192bffSSimon L. B. Nielsen	mdoc/POSIX-copyright \
107f1192bffSSimon L. B. Nielsen	mdoc/deshallify.sh \
108aed191e5SRuslan Ermilov	mdoc/example.1 \
109aed191e5SRuslan Ermilov	mdoc/example.3 \
110aed191e5SRuslan Ermilov	mdoc/example.4 \
111fc943bedSGiorgos Keramidas	mdoc/example.9 \
112aed191e5SRuslan Ermilov	netgraph/ether.bridge \
113aed191e5SRuslan Ermilov	netgraph/frame_relay \
114aed191e5SRuslan Ermilov	netgraph/ngctl \
115aed191e5SRuslan Ermilov	netgraph/raw \
116aed191e5SRuslan Ermilov	netgraph/udp.tunnel \
1173082dd3fSJulian Elischer	netgraph/virtual.chain \
1183082dd3fSJulian Elischer	netgraph/virtual.lan \
119aed191e5SRuslan Ermilov	perfmon/Makefile \
120aed191e5SRuslan Ermilov	perfmon/README \
121aed191e5SRuslan Ermilov	perfmon/perfmon.c \
122aed191e5SRuslan Ermilov	ppi/Makefile \
123aed191e5SRuslan Ermilov	ppi/ppilcd.c \
124aed191e5SRuslan Ermilov	ppp/chap-auth \
125aed191e5SRuslan Ermilov	ppp/login-auth \
126aed191e5SRuslan Ermilov	ppp/ppp.conf.sample \
127aed191e5SRuslan Ermilov	ppp/ppp.conf.span-isp \
128aed191e5SRuslan Ermilov	ppp/ppp.conf.span-isp.working \
129aed191e5SRuslan Ermilov	ppp/ppp.linkdown.sample \
130aed191e5SRuslan Ermilov	ppp/ppp.linkdown.span-isp \
131aed191e5SRuslan Ermilov	ppp/ppp.linkdown.span-isp.working \
132aed191e5SRuslan Ermilov	ppp/ppp.linkup.sample \
133aed191e5SRuslan Ermilov	ppp/ppp.linkup.span-isp \
134aed191e5SRuslan Ermilov	ppp/ppp.linkup.span-isp.working \
135aed191e5SRuslan Ermilov	ppp/ppp.secret.sample \
136aed191e5SRuslan Ermilov	ppp/ppp.secret.span-isp \
137aed191e5SRuslan Ermilov	ppp/ppp.secret.span-isp.working \
138aed191e5SRuslan Ermilov	printing/README \
139aed191e5SRuslan Ermilov	printing/diablo-if-net \
140aed191e5SRuslan Ermilov	printing/hpdf \
141aed191e5SRuslan Ermilov	printing/hpif \
142aed191e5SRuslan Ermilov	printing/hpof \
143aed191e5SRuslan Ermilov	printing/hprf \
144aed191e5SRuslan Ermilov	printing/hpvf \
145aed191e5SRuslan Ermilov	printing/if-simple \
146aed191e5SRuslan Ermilov	printing/if-simpleX \
147aed191e5SRuslan Ermilov	printing/ifhp \
148aed191e5SRuslan Ermilov	printing/make-ps-header \
149aed191e5SRuslan Ermilov	printing/netprint \
150aed191e5SRuslan Ermilov	printing/psdf \
151aed191e5SRuslan Ermilov	printing/psdfX \
152aed191e5SRuslan Ermilov	printing/psif \
153aed191e5SRuslan Ermilov	printing/pstf \
154aed191e5SRuslan Ermilov	printing/pstfX \
155aed191e5SRuslan Ermilov	ses/Makefile \
156aed191e5SRuslan Ermilov	ses/Makefile.inc \
157aed191e5SRuslan Ermilov	ses/getencstat/Makefile \
158aed191e5SRuslan Ermilov	ses/getencstat/getencstat.0 \
159aed191e5SRuslan Ermilov	ses/sesd/Makefile \
160aed191e5SRuslan Ermilov	ses/sesd/sesd.0 \
161aed191e5SRuslan Ermilov	ses/setencstat/Makefile \
162aed191e5SRuslan Ermilov	ses/setencstat/setencstat.0 \
163aed191e5SRuslan Ermilov	ses/setobjstat/Makefile \
164aed191e5SRuslan Ermilov	ses/setobjstat/setobjstat.0 \
165aed191e5SRuslan Ermilov	ses/srcs/chpmon.c \
166aed191e5SRuslan Ermilov	ses/srcs/eltsub.c \
167f4e4182eSAlexander Motin	ses/srcs/eltsub.h \
168aed191e5SRuslan Ermilov	ses/srcs/getencstat.c \
169aed191e5SRuslan Ermilov	ses/srcs/getnobj.c \
170aed191e5SRuslan Ermilov	ses/srcs/getobjmap.c \
171aed191e5SRuslan Ermilov	ses/srcs/getobjstat.c \
172aed191e5SRuslan Ermilov	ses/srcs/inienc.c \
173aed191e5SRuslan Ermilov	ses/srcs/sesd.c \
174aed191e5SRuslan Ermilov	ses/srcs/setencstat.c \
175aed191e5SRuslan Ermilov	ses/srcs/setobjstat.c \
176aed191e5SRuslan Ermilov	scsi_target/Makefile \
177aed191e5SRuslan Ermilov	scsi_target/scsi_target.c \
17837efca48SNate Lawson	scsi_target/scsi_target.h \
17937efca48SNate Lawson	scsi_target/scsi_target.8 \
18037efca48SNate Lawson	scsi_target/scsi_cmds.c \
181aed191e5SRuslan Ermilov	sunrpc/Makefile \
182aed191e5SRuslan Ermilov	sunrpc/dir/Makefile \
183aed191e5SRuslan Ermilov	sunrpc/dir/dir.x \
184aed191e5SRuslan Ermilov	sunrpc/dir/dir_proc.c \
185aed191e5SRuslan Ermilov	sunrpc/dir/rls.c \
186aed191e5SRuslan Ermilov	sunrpc/msg/Makefile \
187aed191e5SRuslan Ermilov	sunrpc/msg/msg.x \
188aed191e5SRuslan Ermilov	sunrpc/msg/msg_proc.c \
189aed191e5SRuslan Ermilov	sunrpc/msg/printmsg.c \
190aed191e5SRuslan Ermilov	sunrpc/msg/rprintmsg.c \
191aed191e5SRuslan Ermilov	sunrpc/sort/Makefile \
192aed191e5SRuslan Ermilov	sunrpc/sort/rsort.c \
193aed191e5SRuslan Ermilov	sunrpc/sort/sort.x \
19412fe6c35SEdward Tomasz Napierala	sunrpc/sort/sort_proc.c \
19512fe6c35SEdward Tomasz Napierala	uefisign/uefikeys
196aed191e5SRuslan Ermilov
197aed191e5SRuslan ErmilovBINDIR= ${SHAREDIR}/examples
198ca6aa03bSPoul-Henning Kamp
1994e395054SEnji Cooper.if ${MK_HAST} != "no"
2004e395054SEnji CooperLDIRS+=		hast
2014e395054SEnji CooperXFILES+=	hast/ucarp.sh \
2024e395054SEnji Cooper		hast/ucarp_down.sh \
2034e395054SEnji Cooper		hast/ucarp_up.sh \
2044e395054SEnji Cooper		hast/vip-down.sh \
2054e395054SEnji Cooper		hast/vip-up.sh
2064e395054SEnji Cooper.endif
2074e395054SEnji Cooper
2080341ccf2SEnji Cooper.if ${MK_USB} != "no"
2090341ccf2SEnji CooperLDIRS+=		libusb20
2100341ccf2SEnji CooperXFILES+=	libusb20/Makefile \
2110341ccf2SEnji Cooper		libusb20/README \
2120341ccf2SEnji Cooper		libusb20/util.c \
2130341ccf2SEnji Cooper		libusb20/util.h \
2140341ccf2SEnji Cooper		libusb20/bulk.c \
2150341ccf2SEnji Cooper		libusb20/control.c
2160341ccf2SEnji Cooper.endif
2170341ccf2SEnji Cooper
21802629e46SEnji Cooper.if ${MACHINE_CPUARCH} == "amd64"
21902629e46SEnji Cooper.if ${MK_BHYVE} != "no"
22002629e46SEnji CooperLDIRS+=		bhyve
22102629e46SEnji CooperXFILES+=	bhyve/vmrun.sh
22272392b20SBaptiste DaroussinPACKAGE_bhyve/vmrun.sh=	bhyve
22302629e46SEnji Cooper.endif
22402629e46SEnji Cooper.endif
22502629e46SEnji Cooper
22615f3c66cSMarcel Moolenaar# Define SHARED to indicate whether you want symbolic links to the system
22715f3c66cSMarcel Moolenaar# source (``symlinks''), or a separate copy (``copies''); (latter useful
22815f3c66cSMarcel Moolenaar# in environments where it's not possible to keep /sys publicly readable)
22915f3c66cSMarcel MoolenaarSHARED?=	copies
23015f3c66cSMarcel Moolenaar
231aed191e5SRuslan Ermilovbeforeinstall: ${SHARED} etc-examples
232b7d28affSBryan DreweryMETA_TARGETS+=	copies symlinks
233aed191e5SRuslan Ermilov.ORDER: ${SHARED} etc-examples
234c19cbc80SBruce Evans
23594086ceaSBryan Drewerycopies:
236aed191e5SRuslan Ermilov.for i in ${LDIRS}
23772060281SRuslan Ermilov	if [ -L ${DESTDIR}${BINDIR}/$i ]; then \
238aed191e5SRuslan Ermilov		rm -f ${DESTDIR}${BINDIR}/$i; \
239aed191e5SRuslan Ermilov	fi
240eb646a75SBruce Evans.endfor
241aed191e5SRuslan Ermilov	mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \
242aed191e5SRuslan Ermilov	    -f ${.CURDIR}/../../etc/mtree/BSD.usr.dist -p ${DESTDIR}/usr
243aed191e5SRuslan Ermilov.for file in ${XFILES}
244*a5921bc3SGlen Barber	${INSTALL} -T package=${PACKAGE_${file}:Uexamples} -o ${SHAREOWN} -g ${SHAREGRP} -m ${SHAREMODE} \
245aed191e5SRuslan Ermilov		${.CURDIR}/${file} ${DESTDIR}${BINDIR}/${file}
246eb646a75SBruce Evans.endfor
24799e4ba42SGarrett Wollman
24894086ceaSBryan Drewerysymlinks:
249aed191e5SRuslan Ermilov.for i in ${LDIRS}
250aed191e5SRuslan Ermilov	rm -rf ${DESTDIR}${BINDIR}/$i
251aed191e5SRuslan Ermilov	ln -s ${.CURDIR}/$i ${DESTDIR}${BINDIR}/$i
25215f3c66cSMarcel Moolenaar.endfor
25315f3c66cSMarcel Moolenaar
25415f3c66cSMarcel Moolenaaretc-examples:
25515f3c66cSMarcel Moolenaar.if ${SHARED} != "symlinks"
256d5cc0579SBryan Drewery	${_+_}(cd ${.CURDIR}/../../etc; ${MAKE} etc-examples)
25715f3c66cSMarcel Moolenaar.endif
25815f3c66cSMarcel Moolenaar
2592600f5b8SDarren Reed.if ${SHARED} != "symlinks"
260237abf0cSDavide ItalianoSUBDIR=	smbfs
261e1fe3dbaSRuslan Ermilov.if ${MK_IPFILTER} != "no"
2627a43a96aSRuslan ErmilovSUBDIR+=ipfilter
2637a43a96aSRuslan Ermilov.endif
264e1fe3dbaSRuslan Ermilov.if ${MK_PF} != "no"
2659d7ccc0fSMax LaierSUBDIR+=pf
2669d7ccc0fSMax Laier.endif
2672600f5b8SDarren Reed.endif
2682600f5b8SDarren Reed
26921203fddSJulio Merino.if ${MK_TESTS} != "no"
27021203fddSJulio MerinoSUBDIR+=tests
27121203fddSJulio Merino.endif
27221203fddSJulio Merino
273aa92269eSBryan DrewerySUBDIR_PARALLEL=
274aa92269eSBryan Drewery
275d5cc0579SBryan Drewery.include <bsd.prog.mk>
276