xref: /freebsd/share/examples/Makefile (revision 01cebb69beb9f85c2be455d34172a5c7ed93c7f5)
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
7a5921bc3SGlen BarberPACKAGE=examples
8a5921bc3SGlen BarberFILESDIR=	${SHAREDIR}/examples
9a5921bc3SGlen Barber
10aed191e5SRuslan ErmilovLDIRS=	BSD_daemon \
11aed191e5SRuslan Ermilov	FreeBSD_version \
12aed191e5SRuslan Ermilov	IPv6 \
13aed191e5SRuslan Ermilov	bootforth \
1412330831SEitan Adler	csh \
15aed191e5SRuslan Ermilov	diskless \
16aed191e5SRuslan Ermilov	drivers \
17aed191e5SRuslan Ermilov	etc \
18aed191e5SRuslan Ermilov	find_interface \
19aed191e5SRuslan Ermilov	ibcs2 \
20ee9c0bb3SAndriy Gapon	indent \
21aed191e5SRuslan Ermilov	ipfw \
223082dd3fSJulian Elischer	jails \
23aed191e5SRuslan Ermilov	kld \
24aed191e5SRuslan Ermilov	libvgl \
25aed191e5SRuslan Ermilov	mdoc \
26aed191e5SRuslan Ermilov	netgraph \
27aed191e5SRuslan Ermilov	perfmon \
28aed191e5SRuslan Ermilov	ppi \
29aed191e5SRuslan Ermilov	ppp \
30aed191e5SRuslan Ermilov	printing \
31aed191e5SRuslan Ermilov	ses \
32aed191e5SRuslan Ermilov	scsi_target \
3312fe6c35SEdward Tomasz Napierala	sunrpc \
343191e571SMarcelo Araujo	ypldap
35ca6aa03bSPoul-Henning Kamp
36aed191e5SRuslan Ermilov
375e37f7b3SBrad DavisSE_DIRS+=	BSD_daemon
385e37f7b3SBrad DavisSE_BSD_DAEMON= \
395e37f7b3SBrad Davis	FreeBSD.pfa \
405e37f7b3SBrad Davis	README \
415e37f7b3SBrad Davis	beastie.eps \
425e37f7b3SBrad Davis	beastie.fig \
435e37f7b3SBrad Davis	eps.patch \
445e37f7b3SBrad Davis	poster.sh
450341ccf2SEnji Cooper
4602629e46SEnji Cooper.if ${MACHINE_CPUARCH} == "amd64"
4702629e46SEnji Cooper.if ${MK_BHYVE} != "no"
4802629e46SEnji CooperLDIRS+=		bhyve
495e37f7b3SBrad DavisSE_DIRS+=	bhyve
505e37f7b3SBrad DavisSE_BHYVE=	vmrun.sh
5172392b20SBaptiste DaroussinPACKAGE_bhyve/vmrun.sh=	bhyve
5202629e46SEnji Cooper.endif
5302629e46SEnji Cooper.endif
5402629e46SEnji Cooper
555e37f7b3SBrad DavisSE_DIRS+=	FreeBSD_version
565e37f7b3SBrad DavisSE_FREEBSD_VERSION= \
575e37f7b3SBrad Davis	FreeBSD_version.c \
585e37f7b3SBrad Davis	Makefile \
595e37f7b3SBrad Davis	README
6015f3c66cSMarcel Moolenaar
615e37f7b3SBrad DavisSE_DIRS+=	IPv6
625e37f7b3SBrad DavisSE_IPV6=	USAGE
635e37f7b3SBrad Davis
645e37f7b3SBrad DavisSE_DIRS+=	bootforth
655e37f7b3SBrad DavisSE_BOOTFORTH= \
665e37f7b3SBrad Davis	README \
675e37f7b3SBrad Davis	boot.4th \
685e37f7b3SBrad Davis	frames.4th \
695e37f7b3SBrad Davis	loader.rc \
705e37f7b3SBrad Davis	menu.4th \
715e37f7b3SBrad Davis	menuconf.4th \
725e37f7b3SBrad Davis	screen.4th
735e37f7b3SBrad Davis
745e37f7b3SBrad DavisSE_DIRS+=	csh
755e37f7b3SBrad DavisSE_CSH=	dot.cshrc
765e37f7b3SBrad Davis
775e37f7b3SBrad DavisSE_DIRS+=	diskless
785e37f7b3SBrad DavisSE_DISKLESS= \
795e37f7b3SBrad Davis	ME \
805e37f7b3SBrad Davis	README.BOOTP \
815e37f7b3SBrad Davis	README.TEMPLATING \
825e37f7b3SBrad Davis	clone_root
835e37f7b3SBrad Davis
845e37f7b3SBrad DavisSE_DIRS+=	drivers
855e37f7b3SBrad DavisSE_DRIVERS= \
865e37f7b3SBrad Davis	README \
875e37f7b3SBrad Davis	make_device_driver.sh \
885e37f7b3SBrad Davis	make_pseudo_driver.sh
895e37f7b3SBrad Davis
905e37f7b3SBrad DavisSE_DIRS+=	etc
915e37f7b3SBrad DavisSE_ETC= \
925e37f7b3SBrad Davis	README.examples \
935e37f7b3SBrad Davis	bsd-style-copyright \
945e37f7b3SBrad Davis	make.conf
955e37f7b3SBrad Davis
965e37f7b3SBrad DavisSE_DIRS+=	find_interface
975e37f7b3SBrad DavisSE_FIND_INTERFACE= \
985e37f7b3SBrad Davis	Makefile \
995e37f7b3SBrad Davis	README \
1005e37f7b3SBrad Davis	find_interface.c
1015e37f7b3SBrad Davis
1025e37f7b3SBrad DavisSE_DIRS+=	ibcs2
1035e37f7b3SBrad DavisSE_IBCS2=	\
1045e37f7b3SBrad Davis	README \
1055e37f7b3SBrad Davis	hello.uu
1065e37f7b3SBrad Davis
1075e37f7b3SBrad DavisSE_DIRS+=	indent
1085e37f7b3SBrad DavisSE_INDENT=	indent.pro
1095e37f7b3SBrad Davis
1105e37f7b3SBrad Davis.if ${MK_IPFILTER} != "no"
1115e37f7b3SBrad DavisSUBDIR+=	ipfilter
1125e37f7b3SBrad Davis.endif
1135e37f7b3SBrad Davis
1145e37f7b3SBrad DavisSE_DIRS+=	ipfw
1155e37f7b3SBrad DavisSE_IPFW=	change_rules.sh
1165e37f7b3SBrad Davis
1175e37f7b3SBrad DavisSE_DIRS+=	jails
1185e37f7b3SBrad DavisSE_JAILS= \
1195e37f7b3SBrad Davis	README \
1205e37f7b3SBrad Davis	VIMAGE \
1215e37f7b3SBrad Davis	jail.xxx.conf \
1225e37f7b3SBrad Davis	jib \
1235e37f7b3SBrad Davis	jng \
1245e37f7b3SBrad Davis	rc.conf.jails \
1255e37f7b3SBrad Davis	rcjail.xxx.conf
1265e37f7b3SBrad Davis
1275e37f7b3SBrad DavisSE_DIRS+=	kld
1285e37f7b3SBrad DavisSE_KLD=	Makefile
1295e37f7b3SBrad Davis
1305e37f7b3SBrad DavisSE_DIRS+=	kld/cdev
1315e37f7b3SBrad DavisSE_KLD_CDEV= \
1325e37f7b3SBrad Davis	Makefile \
1335e37f7b3SBrad Davis	README \
1345e37f7b3SBrad Davis
1355e37f7b3SBrad DavisSE_DIRS+=	kld/cdev/module
1365e37f7b3SBrad DavisSE_KLD_CDEV_MODULE= \
1375e37f7b3SBrad Davis	Makefile \
1385e37f7b3SBrad Davis	cdev.c \
1395e37f7b3SBrad Davis	cdev.h \
1405e37f7b3SBrad Davis	cdevmod.c
1415e37f7b3SBrad Davis
1425e37f7b3SBrad DavisSE_DIRS+=	kld/cdev/test
1435e37f7b3SBrad DavisSE_KLD_CDEV_TEST= \
1445e37f7b3SBrad Davis	Makefile \
1455e37f7b3SBrad Davis	testcdev.c
1465e37f7b3SBrad Davis
1475e37f7b3SBrad DavisSE_DIRS+=	kld/dyn_sysctl
1485e37f7b3SBrad DavisSE_KLD_DYN_SYSCTL= \
1495e37f7b3SBrad Davis	Makefile \
1505e37f7b3SBrad Davis	README \
1515e37f7b3SBrad Davis	dyn_sysctl.c
1525e37f7b3SBrad Davis
1535e37f7b3SBrad DavisSE_DIRS+=	kld/firmware
1545e37f7b3SBrad DavisSE_KLD_FIRMWARE= \
1555e37f7b3SBrad Davis	Makefile \
1565e37f7b3SBrad Davis	README
1575e37f7b3SBrad Davis
1585e37f7b3SBrad DavisSE_DIRS+=	kld/firmware/fwconsumer
1595e37f7b3SBrad DavisSE_KLD_FIRMWARE_FWCONSUMER= \
1605e37f7b3SBrad Davis	Makefile \
1615e37f7b3SBrad Davis	fw_consumer.c
1625e37f7b3SBrad Davis
1635e37f7b3SBrad DavisSE_DIRS+=	kld/firmware/fwimage
1645e37f7b3SBrad DavisSE_KLD_FIRMWARE_FWIMAGE= \
1655e37f7b3SBrad Davis	Makefile \
1665e37f7b3SBrad Davis	firmware.img.uu
1675e37f7b3SBrad Davis
1685e37f7b3SBrad DavisSE_DIRS+=	kld/khelp
1695e37f7b3SBrad DavisSE_KLD_KHELP= \
1705e37f7b3SBrad Davis	Makefile \
1715e37f7b3SBrad Davis	README \
1725e37f7b3SBrad Davis	h_example.c
1735e37f7b3SBrad Davis
1745e37f7b3SBrad DavisSE_DIRS+=	kld/syscall
1755e37f7b3SBrad DavisSE_KLD_SYSCALL=	Makefile
1765e37f7b3SBrad Davis
1775e37f7b3SBrad DavisSE_DIRS+=	kld/syscall/module
1785e37f7b3SBrad DavisSE_KLD_SYSCALL_MODULE= \
1795e37f7b3SBrad Davis	Makefile \
1805e37f7b3SBrad Davis	syscall.c
1815e37f7b3SBrad Davis
1825e37f7b3SBrad DavisSE_DIRS+=	kld/syscall/test
1835e37f7b3SBrad DavisSE_KLD_SYSCALL_TEST= \
1845e37f7b3SBrad Davis	Makefile \
1855e37f7b3SBrad Davis	call.c
1865e37f7b3SBrad Davis
1875e37f7b3SBrad DavisSE_DIRS+=	libvgl
1885e37f7b3SBrad DavisSE_LIBVGL=	\
1895e37f7b3SBrad Davis	Makefile \
1905e37f7b3SBrad Davis	demo.c
1915e37f7b3SBrad Davis
1925e37f7b3SBrad DavisSE_DIRS+=	mdoc
1935e37f7b3SBrad DavisSE_MDOC= \
1945e37f7b3SBrad Davis	POSIX-copyright \
1955e37f7b3SBrad Davis	deshallify.sh \
1965e37f7b3SBrad Davis	example.1 \
1975e37f7b3SBrad Davis	example.3 \
1985e37f7b3SBrad Davis	example.4 \
1995e37f7b3SBrad Davis	example.9
2005e37f7b3SBrad Davis
2015e37f7b3SBrad DavisSE_DIRS+=	netgraph
2025e37f7b3SBrad DavisSE_NETGRAPH= \
2035e37f7b3SBrad Davis	ether.bridge \
2045e37f7b3SBrad Davis	frame_relay \
2055e37f7b3SBrad Davis	ngctl \
2065e37f7b3SBrad Davis	raw \
2075e37f7b3SBrad Davis	udp.tunnel \
2085e37f7b3SBrad Davis	virtual.chain \
2095e37f7b3SBrad Davis	virtual.lan \
2105e37f7b3SBrad Davis
2115e37f7b3SBrad DavisSE_DIRS+=	perfmon
2125e37f7b3SBrad DavisSE_PERFMON= \
2135e37f7b3SBrad Davis	Makefile \
2145e37f7b3SBrad Davis	README \
2155e37f7b3SBrad Davis	perfmon.c \
2165e37f7b3SBrad Davis
2175e37f7b3SBrad Davis.if ${MK_PF} != "no"
2185e37f7b3SBrad DavisSE_DIRS+=	pf
2195e37f7b3SBrad DavisSE_PF= \
2205e37f7b3SBrad Davis	ackpri \
2215e37f7b3SBrad Davis	faq-example1 \
2225e37f7b3SBrad Davis	faq-example2 \
2235e37f7b3SBrad Davis	faq-example3 \
2245e37f7b3SBrad Davis	pf.conf \
2255e37f7b3SBrad Davis	queue1 \
2265e37f7b3SBrad Davis	queue2 \
2275e37f7b3SBrad Davis	queue3 \
2285e37f7b3SBrad Davis	queue4 \
2295e37f7b3SBrad Davis	spamd
2305e37f7b3SBrad Davis.endif
2315e37f7b3SBrad Davis
2325e37f7b3SBrad DavisSE_DIRS+=	ppi
2335e37f7b3SBrad DavisSE_PPI= \
2345e37f7b3SBrad Davis	Makefile \
2355e37f7b3SBrad Davis	ppilcd.c
2365e37f7b3SBrad Davis
2375e37f7b3SBrad DavisSE_DIRS+=	ppp
2385e37f7b3SBrad DavisSE_PPP= \
2395e37f7b3SBrad Davis	chap-auth \
2405e37f7b3SBrad Davis	login-auth \
2415e37f7b3SBrad Davis	ppp.conf.sample \
2425e37f7b3SBrad Davis	ppp.conf.span-isp \
2435e37f7b3SBrad Davis	ppp.conf.span-isp.working \
2445e37f7b3SBrad Davis	ppp.linkdown.sample \
2455e37f7b3SBrad Davis	ppp.linkdown.span-isp \
2465e37f7b3SBrad Davis	ppp.linkdown.span-isp.working \
2475e37f7b3SBrad Davis	ppp.linkup.sample \
2485e37f7b3SBrad Davis	ppp.linkup.span-isp \
2495e37f7b3SBrad Davis	ppp.linkup.span-isp.working \
2505e37f7b3SBrad Davis	ppp.secret.sample \
2515e37f7b3SBrad Davis	ppp.secret.span-isp \
2525e37f7b3SBrad Davis	ppp.secret.span-isp.working
2535e37f7b3SBrad Davis
2545e37f7b3SBrad DavisSE_DIRS+=	printing
2555e37f7b3SBrad DavisSE_PRINTING= \
2565e37f7b3SBrad Davis	diablo-if-net \
2575e37f7b3SBrad Davis	hpdf \
2585e37f7b3SBrad Davis	hpif \
2595e37f7b3SBrad Davis	hpof \
2605e37f7b3SBrad Davis	hprf \
2615e37f7b3SBrad Davis	hpvf \
2625e37f7b3SBrad Davis	if-simple \
2635e37f7b3SBrad Davis	if-simpleX \
2645e37f7b3SBrad Davis	ifhp \
2655e37f7b3SBrad Davis	make-ps-header \
2665e37f7b3SBrad Davis	netprint \
2675e37f7b3SBrad Davis	psdf \
2685e37f7b3SBrad Davis	psdfX \
2695e37f7b3SBrad Davis	psif \
2705e37f7b3SBrad Davis	pstf \
2715e37f7b3SBrad Davis	pstfX
2725e37f7b3SBrad Davis
2735e37f7b3SBrad DavisSE_DIRS+=	ses
2745e37f7b3SBrad DavisSE_SES= \
2755e37f7b3SBrad Davis	Makefile \
2765e37f7b3SBrad Davis	Makefile.inc
2775e37f7b3SBrad Davis
2785e37f7b3SBrad DavisSE_DIRS+=	ses/getencstat
2795e37f7b3SBrad DavisSE_SES_GETENCSTAT= \
2805e37f7b3SBrad Davis	Makefile \
2815e37f7b3SBrad Davis	getencstat.0
2825e37f7b3SBrad Davis
2835e37f7b3SBrad DavisSE_DIRS+=	ses/sesd
2845e37f7b3SBrad DavisSE_SES_SESD= \
2855e37f7b3SBrad Davis	Makefile \
2865e37f7b3SBrad Davis	sesd.0
2875e37f7b3SBrad Davis
2885e37f7b3SBrad DavisSE_DIRS+=	ses/setencstat
2895e37f7b3SBrad DavisSE_SES_SETENCSTAT= \
2905e37f7b3SBrad Davis	Makefile \
2915e37f7b3SBrad Davis	setencstat.0
2925e37f7b3SBrad Davis
2935e37f7b3SBrad DavisSE_DIRS+=	ses/setobjstat
2945e37f7b3SBrad DavisSE_SES_SETOBJSTAT= \
2955e37f7b3SBrad Davis	Makefile \
2965e37f7b3SBrad Davis	setobjstat.0
2975e37f7b3SBrad Davis
2985e37f7b3SBrad DavisSE_DIRS+=	ses/srcs
2995e37f7b3SBrad DavisSE_SES_SRCS= \
3005e37f7b3SBrad Davis	chpmon.c \
3015e37f7b3SBrad Davis	eltsub.c \
3025e37f7b3SBrad Davis	eltsub.h \
3035e37f7b3SBrad Davis	getencstat.c \
3045e37f7b3SBrad Davis	getnobj.c \
3055e37f7b3SBrad Davis	getobjmap.c \
3065e37f7b3SBrad Davis	getobjstat.c \
3075e37f7b3SBrad Davis	inienc.c \
3085e37f7b3SBrad Davis	sesd.c \
3095e37f7b3SBrad Davis	setencstat.c \
3105e37f7b3SBrad Davis	setobjstat.c
3115e37f7b3SBrad Davis
3125e37f7b3SBrad DavisSE_DIRS+=	scsi_target
3135e37f7b3SBrad DavisSE_SCSI_TARGET= \
3145e37f7b3SBrad Davis	Makefile \
3155e37f7b3SBrad Davis	scsi_target.c \
3165e37f7b3SBrad Davis	scsi_target.h \
3175e37f7b3SBrad Davis	scsi_target.8 \
3185e37f7b3SBrad Davis	scsi_cmds.c
3195e37f7b3SBrad Davis
3205e37f7b3SBrad DavisSE_DIRS+=	sunrpc
3215e37f7b3SBrad DavisSE_SUNRPC=	Makefile
3225e37f7b3SBrad Davis
3235e37f7b3SBrad DavisSE_DIRS+=	sunrpc/dir
3245e37f7b3SBrad DavisSE_SUNRPC_DIR= \
3255e37f7b3SBrad Davis	Makefile \
3265e37f7b3SBrad Davis	dir.x \
3275e37f7b3SBrad Davis	dir_proc.c \
3285e37f7b3SBrad Davis	rls.c
3295e37f7b3SBrad Davis
3305e37f7b3SBrad DavisSE_DIRS+=	sunrpc/msg
3315e37f7b3SBrad DavisSE_SUNRPC_MSG= \
3325e37f7b3SBrad Davis	Makefile \
3335e37f7b3SBrad Davis	msg.x \
3345e37f7b3SBrad Davis	msg_proc.c \
3355e37f7b3SBrad Davis	printmsg.c \
3365e37f7b3SBrad Davis	rprintmsg.c
3375e37f7b3SBrad Davis
3385e37f7b3SBrad DavisSE_DIRS+=	sunrpc/sort
3395e37f7b3SBrad DavisSE_SUNRPC_SORT= \
3405e37f7b3SBrad Davis	Makefile \
3415e37f7b3SBrad Davis	rsort.c \
3425e37f7b3SBrad Davis	sort.x \
3435e37f7b3SBrad Davis	sort_proc.c
3445e37f7b3SBrad Davis
345*01cebb69SSean Bruno.if ${MK_EFI} != "no"
346*01cebb69SSean BrunoLDIRS+=		uefisign
3475e37f7b3SBrad DavisSE_DIRS+=	uefisign
3485e37f7b3SBrad DavisSE_UEFISIGN=	uefikeys
349*01cebb69SSean Bruno.endif
3505e37f7b3SBrad Davis
3515e37f7b3SBrad DavisSE_DIRS+=	ypldap
3525e37f7b3SBrad DavisSE_YPLDAP=	ypldap.conf
3535e37f7b3SBrad Davis
3545e37f7b3SBrad Davis.if ${MK_HAST} != "no"
3555e37f7b3SBrad DavisLDIRS+=		hast
3565e37f7b3SBrad DavisSE_DIRS+=	hast
3575e37f7b3SBrad DavisSE_HAST=	ucarp.sh \
3585e37f7b3SBrad Davis	ucarp_down.sh \
3595e37f7b3SBrad Davis	ucarp_up.sh \
3605e37f7b3SBrad Davis	vip-down.sh \
3615e37f7b3SBrad Davis	vip-up.sh
3625e37f7b3SBrad Davis.endif
3635e37f7b3SBrad Davis
3645e37f7b3SBrad Davis.if ${MK_USB} != "no"
3655e37f7b3SBrad DavisLDIRS+=		libusb20
3665e37f7b3SBrad DavisSE_DIRS+=	libusb20
3675e37f7b3SBrad DavisSE_LIBUSB20= \
3685e37f7b3SBrad Davis	Makefile \
3695e37f7b3SBrad Davis	README \
3705e37f7b3SBrad Davis	util.c \
3715e37f7b3SBrad Davis	util.h \
3725e37f7b3SBrad Davis	bulk.c \
3735e37f7b3SBrad Davis	control.c
3745e37f7b3SBrad Davis.endif
3755e37f7b3SBrad Davis
3765e37f7b3SBrad Davis
3775e37f7b3SBrad Davis# Setup the FILES_GROUPS for all DIRS variables above.
3785e37f7b3SBrad Davis# The variables are prefixed by 'SE_' to prevent variable collision in
3795e37f7b3SBrad Davis# other parts of the system
3805e37f7b3SBrad Davis.for d in ${SE_DIRS}
3815e37f7b3SBrad Davis.for f in ${SE_${d:tu:C/\//_/g}}
3825e37f7b3SBrad DavisSER_${d:tu:C/\//_/g}+=	${d}/${f}
3835e37f7b3SBrad Davis.endfor
3845e37f7b3SBrad DavisFILESGROUPS+=	SER_${d:tu:C/\//_/g}
3855e37f7b3SBrad DavisSER_${d:tu:C/\//_/g}DIR+=	${SHAREDIR}/examples/${d}
3865e37f7b3SBrad Davis.endfor
3875e37f7b3SBrad Davis
3885e37f7b3SBrad DavisBINDIR= ${SHAREDIR}/examples
3895e37f7b3SBrad Davis
3905e37f7b3SBrad Davisbeforeinstall: copies etc-examples
3915e37f7b3SBrad DavisMETA_TARGETS+=	copies
3925e37f7b3SBrad Davis.ORDER: etc-examples
393c19cbc80SBruce Evans
39494086ceaSBryan Drewerycopies:
395aed191e5SRuslan Ermilov.for i in ${LDIRS}
39672060281SRuslan Ermilov	if [ -L ${DESTDIR}${BINDIR}/$i ]; then \
397aed191e5SRuslan Ermilov		rm -f ${DESTDIR}${BINDIR}/$i; \
398aed191e5SRuslan Ermilov	fi
399eb646a75SBruce Evans.endfor
40015f3c66cSMarcel Moolenaar
40115f3c66cSMarcel Moolenaaretc-examples:
402e44885acSEnji Cooper	${_+_}(cd ${SRCTOP}/etc; ${MAKE} etc-examples)
40315f3c66cSMarcel Moolenaar
4045e37f7b3SBrad DavisSUBDIR+=	smbfs
4052600f5b8SDarren Reed
406d511b20aSEnji CooperHAS_TESTS=
4074b330699SEnji CooperSUBDIR.${MK_TESTS}+= tests
40821203fddSJulio Merino
409aa92269eSBryan DrewerySUBDIR_PARALLEL=
410aa92269eSBryan Drewery
411d5cc0579SBryan Drewery.include <bsd.prog.mk>
412