Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 May 2018 13:53:11 +0000 (UTC)
From:      Brad Davis <brd@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r333408 - head/share/examples
Message-ID:  <201805091353.w49DrBCR066868@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: brd
Date: Wed May  9 13:53:10 2018
New Revision: 333408
URL: https://svnweb.freebsd.org/changeset/base/333408

Log:
  Convert share/examples/Makefile over to using FILES and FILESDIR.
  
  The goal is to avoid using install directly so we can make changes the affect
  how the entire system is installed, without having to touch many places.
  
  This is part of the packaging base work.
  
  Reviewed by:	will
  Approved by:	bapt (mentor), allanjude (mentor)
  Differential Revision:	https://reviews.freebsd.org/D1513

Modified:
  head/share/examples/Makefile

Modified: head/share/examples/Makefile
==============================================================================
--- head/share/examples/Makefile	Wed May  9 13:44:54 2018	(r333407)
+++ head/share/examples/Makefile	Wed May  9 13:53:10 2018	(r333408)
@@ -7,12 +7,6 @@
 PACKAGE=examples
 FILESDIR=	${SHAREDIR}/examples
 
-.for _XFILE in ${XFILES}
-FILESGROUPS+=	${_XFILE}
-PACKAGE_${_XFILE}?=examples
-${_XFILE}DIR=	${SHAREDIR}/examples/${_XFILE:H}
-.endfor
-
 LDIRS=	BSD_daemon \
 	FreeBSD_version \
 	IPv6 \
@@ -40,236 +34,372 @@ LDIRS=	BSD_daemon \
 	uefisign \
 	ypldap
 
-XFILES=	BSD_daemon/FreeBSD.pfa \
-	BSD_daemon/README \
-	BSD_daemon/beastie.eps \
-	BSD_daemon/beastie.fig \
-	BSD_daemon/eps.patch \
-	BSD_daemon/poster.sh \
-	FreeBSD_version/FreeBSD_version.c \
-	FreeBSD_version/Makefile \
-	FreeBSD_version/README \
-	IPv6/USAGE \
-	bootforth/README \
-	bootforth/boot.4th \
-	bootforth/frames.4th \
-	bootforth/loader.rc \
-	bootforth/menu.4th \
-	bootforth/menuconf.4th \
-	bootforth/screen.4th \
-	csh/dot.cshrc \
-	diskless/ME \
-	diskless/README.BOOTP \
-	diskless/README.TEMPLATING \
-	diskless/clone_root \
-	drivers/README \
-	drivers/make_device_driver.sh \
-	drivers/make_pseudo_driver.sh \
-	etc/README.examples \
-	etc/bsd-style-copyright \
-	etc/make.conf \
-	find_interface/Makefile \
-	find_interface/README \
-	find_interface/find_interface.c \
-	ibcs2/README \
-	ibcs2/hello.uu \
-	indent/indent.pro \
-	ipfw/change_rules.sh \
-	jails/README \
-	jails/VIMAGE \
-	jails/jail.xxx.conf \
-	jails/jib \
-	jails/jng \
-	jails/rc.conf.jails \
-	jails/rcjail.xxx.conf \
-	kld/Makefile \
-	kld/cdev/Makefile \
-	kld/cdev/README \
-	kld/cdev/module/Makefile \
-	kld/cdev/module/cdev.c \
-	kld/cdev/module/cdev.h \
-	kld/cdev/module/cdevmod.c \
-	kld/cdev/test/Makefile \
-	kld/cdev/test/testcdev.c \
-	kld/dyn_sysctl/Makefile \
-	kld/dyn_sysctl/README \
-	kld/dyn_sysctl/dyn_sysctl.c \
-	kld/firmware/Makefile \
-	kld/firmware/README \
-	kld/firmware/fwconsumer/Makefile \
-	kld/firmware/fwconsumer/fw_consumer.c \
-	kld/firmware/fwimage/Makefile \
-	kld/firmware/fwimage/firmware.img.uu \
-	kld/khelp/Makefile \
-	kld/khelp/README \
-	kld/khelp/h_example.c \
-	kld/syscall/Makefile \
-	kld/syscall/module/Makefile \
-	kld/syscall/module/syscall.c \
-	kld/syscall/test/Makefile \
-	kld/syscall/test/call.c \
-	libvgl/Makefile \
-	libvgl/demo.c \
-	mdoc/POSIX-copyright \
-	mdoc/deshallify.sh \
-	mdoc/example.1 \
-	mdoc/example.3 \
-	mdoc/example.4 \
-	mdoc/example.9 \
-	netgraph/ether.bridge \
-	netgraph/frame_relay \
-	netgraph/ngctl \
-	netgraph/raw \
-	netgraph/udp.tunnel \
-	netgraph/virtual.chain \
-	netgraph/virtual.lan \
-	perfmon/Makefile \
-	perfmon/README \
-	perfmon/perfmon.c \
-	ppi/Makefile \
-	ppi/ppilcd.c \
-	ppp/chap-auth \
-	ppp/login-auth \
-	ppp/ppp.conf.sample \
-	ppp/ppp.conf.span-isp \
-	ppp/ppp.conf.span-isp.working \
-	ppp/ppp.linkdown.sample \
-	ppp/ppp.linkdown.span-isp \
-	ppp/ppp.linkdown.span-isp.working \
-	ppp/ppp.linkup.sample \
-	ppp/ppp.linkup.span-isp \
-	ppp/ppp.linkup.span-isp.working \
-	ppp/ppp.secret.sample \
-	ppp/ppp.secret.span-isp \
-	ppp/ppp.secret.span-isp.working \
-	printing/diablo-if-net \
-	printing/hpdf \
-	printing/hpif \
-	printing/hpof \
-	printing/hprf \
-	printing/hpvf \
-	printing/if-simple \
-	printing/if-simpleX \
-	printing/ifhp \
-	printing/make-ps-header \
-	printing/netprint \
-	printing/psdf \
-	printing/psdfX \
-	printing/psif \
-	printing/pstf \
-	printing/pstfX \
-	ses/Makefile \
-	ses/Makefile.inc \
-	ses/getencstat/Makefile \
-	ses/getencstat/getencstat.0 \
-	ses/sesd/Makefile \
-	ses/sesd/sesd.0 \
-	ses/setencstat/Makefile \
-	ses/setencstat/setencstat.0 \
-	ses/setobjstat/Makefile \
-	ses/setobjstat/setobjstat.0 \
-	ses/srcs/chpmon.c \
-	ses/srcs/eltsub.c \
-	ses/srcs/eltsub.h \
-	ses/srcs/getencstat.c \
-	ses/srcs/getnobj.c \
-	ses/srcs/getobjmap.c \
-	ses/srcs/getobjstat.c \
-	ses/srcs/inienc.c \
-	ses/srcs/sesd.c \
-	ses/srcs/setencstat.c \
-	ses/srcs/setobjstat.c \
-	scsi_target/Makefile \
-	scsi_target/scsi_target.c \
-	scsi_target/scsi_target.h \
-	scsi_target/scsi_target.8 \
-	scsi_target/scsi_cmds.c \
-	sunrpc/Makefile \
-	sunrpc/dir/Makefile \
-	sunrpc/dir/dir.x \
-	sunrpc/dir/dir_proc.c \
-	sunrpc/dir/rls.c \
-	sunrpc/msg/Makefile \
-	sunrpc/msg/msg.x \
-	sunrpc/msg/msg_proc.c \
-	sunrpc/msg/printmsg.c \
-	sunrpc/msg/rprintmsg.c \
-	sunrpc/sort/Makefile \
-	sunrpc/sort/rsort.c \
-	sunrpc/sort/sort.x \
-	sunrpc/sort/sort_proc.c \
-	uefisign/uefikeys \
-	ypldap/ypldap.conf
 
-BINDIR= ${SHAREDIR}/examples
+SE_DIRS+=	BSD_daemon
+SE_BSD_DAEMON= \
+	FreeBSD.pfa \
+	README \
+	beastie.eps \
+	beastie.fig \
+	eps.patch \
+	poster.sh
 
+.if ${MACHINE_CPUARCH} == "amd64"
+.if ${MK_BHYVE} != "no"
+LDIRS+=		bhyve
+SE_DIRS+=	bhyve
+SE_BHYVE=	vmrun.sh
+PACKAGE_bhyve/vmrun.sh=	bhyve
+.endif
+.endif
+
+SE_DIRS+=	FreeBSD_version
+SE_FREEBSD_VERSION= \
+	FreeBSD_version.c \
+	Makefile \
+	README
+
+SE_DIRS+=	IPv6
+SE_IPV6=	USAGE
+
+SE_DIRS+=	bootforth
+SE_BOOTFORTH= \
+	README \
+	boot.4th \
+	frames.4th \
+	loader.rc \
+	menu.4th \
+	menuconf.4th \
+	screen.4th
+
+SE_DIRS+=	csh
+SE_CSH=	dot.cshrc
+
+SE_DIRS+=	diskless
+SE_DISKLESS= \
+	ME \
+	README.BOOTP \
+	README.TEMPLATING \
+	clone_root
+
+SE_DIRS+=	drivers
+SE_DRIVERS= \
+	README \
+	make_device_driver.sh \
+	make_pseudo_driver.sh
+
+SE_DIRS+=	etc
+SE_ETC= \
+	README.examples \
+	bsd-style-copyright \
+	make.conf
+
+SE_DIRS+=	find_interface
+SE_FIND_INTERFACE= \
+	Makefile \
+	README \
+	find_interface.c
+
+SE_DIRS+=	ibcs2
+SE_IBCS2=	\
+	README \
+	hello.uu
+
+SE_DIRS+=	indent
+SE_INDENT=	indent.pro
+
+.if ${MK_IPFILTER} != "no"
+SUBDIR+=	ipfilter
+.endif
+
+SE_DIRS+=	ipfw
+SE_IPFW=	change_rules.sh
+
+SE_DIRS+=	jails
+SE_JAILS= \
+	README \
+	VIMAGE \
+	jail.xxx.conf \
+	jib \
+	jng \
+	rc.conf.jails \
+	rcjail.xxx.conf
+
+SE_DIRS+=	kld
+SE_KLD=	Makefile
+
+SE_DIRS+=	kld/cdev
+SE_KLD_CDEV= \
+	Makefile \
+	README \
+
+SE_DIRS+=	kld/cdev/module
+SE_KLD_CDEV_MODULE= \
+	Makefile \
+	cdev.c \
+	cdev.h \
+	cdevmod.c
+
+SE_DIRS+=	kld/cdev/test
+SE_KLD_CDEV_TEST= \
+	Makefile \
+	testcdev.c
+
+SE_DIRS+=	kld/dyn_sysctl
+SE_KLD_DYN_SYSCTL= \
+	Makefile \
+	README \
+	dyn_sysctl.c
+
+SE_DIRS+=	kld/firmware
+SE_KLD_FIRMWARE= \
+	Makefile \
+	README
+
+SE_DIRS+=	kld/firmware/fwconsumer
+SE_KLD_FIRMWARE_FWCONSUMER= \
+	Makefile \
+	fw_consumer.c
+
+SE_DIRS+=	kld/firmware/fwimage
+SE_KLD_FIRMWARE_FWIMAGE= \
+	Makefile \
+	firmware.img.uu
+
+SE_DIRS+=	kld/khelp
+SE_KLD_KHELP= \
+	Makefile \
+	README \
+	h_example.c
+
+SE_DIRS+=	kld/syscall
+SE_KLD_SYSCALL=	Makefile
+
+SE_DIRS+=	kld/syscall/module
+SE_KLD_SYSCALL_MODULE= \
+	Makefile \
+	syscall.c
+
+SE_DIRS+=	kld/syscall/test
+SE_KLD_SYSCALL_TEST= \
+	Makefile \
+	call.c
+
+SE_DIRS+=	libvgl
+SE_LIBVGL=	\
+	Makefile \
+	demo.c
+
+SE_DIRS+=	mdoc
+SE_MDOC= \
+	POSIX-copyright \
+	deshallify.sh \
+	example.1 \
+	example.3 \
+	example.4 \
+	example.9
+
+SE_DIRS+=	netgraph
+SE_NETGRAPH= \
+	ether.bridge \
+	frame_relay \
+	ngctl \
+	raw \
+	udp.tunnel \
+	virtual.chain \
+	virtual.lan \
+
+SE_DIRS+=	perfmon
+SE_PERFMON= \
+	Makefile \
+	README \
+	perfmon.c \
+
+.if ${MK_PF} != "no"
+SE_DIRS+=	pf
+SE_PF= \
+	ackpri \
+	faq-example1 \
+	faq-example2 \
+	faq-example3 \
+	pf.conf \
+	queue1 \
+	queue2 \
+	queue3 \
+	queue4 \
+	spamd
+.endif
+
+SE_DIRS+=	ppi
+SE_PPI= \
+	Makefile \
+	ppilcd.c
+
+SE_DIRS+=	ppp
+SE_PPP= \
+	chap-auth \
+	login-auth \
+	ppp.conf.sample \
+	ppp.conf.span-isp \
+	ppp.conf.span-isp.working \
+	ppp.linkdown.sample \
+	ppp.linkdown.span-isp \
+	ppp.linkdown.span-isp.working \
+	ppp.linkup.sample \
+	ppp.linkup.span-isp \
+	ppp.linkup.span-isp.working \
+	ppp.secret.sample \
+	ppp.secret.span-isp \
+	ppp.secret.span-isp.working
+
+SE_DIRS+=	printing
+SE_PRINTING= \
+	diablo-if-net \
+	hpdf \
+	hpif \
+	hpof \
+	hprf \
+	hpvf \
+	if-simple \
+	if-simpleX \
+	ifhp \
+	make-ps-header \
+	netprint \
+	psdf \
+	psdfX \
+	psif \
+	pstf \
+	pstfX
+
+SE_DIRS+=	ses
+SE_SES= \
+	Makefile \
+	Makefile.inc
+
+SE_DIRS+=	ses/getencstat
+SE_SES_GETENCSTAT= \
+	Makefile \
+	getencstat.0
+
+SE_DIRS+=	ses/sesd
+SE_SES_SESD= \
+	Makefile \
+	sesd.0
+
+SE_DIRS+=	ses/setencstat
+SE_SES_SETENCSTAT= \
+	Makefile \
+	setencstat.0
+
+SE_DIRS+=	ses/setobjstat
+SE_SES_SETOBJSTAT= \
+	Makefile \
+	setobjstat.0
+
+SE_DIRS+=	ses/srcs
+SE_SES_SRCS= \
+	chpmon.c \
+	eltsub.c \
+	eltsub.h \
+	getencstat.c \
+	getnobj.c \
+	getobjmap.c \
+	getobjstat.c \
+	inienc.c \
+	sesd.c \
+	setencstat.c \
+	setobjstat.c
+
+SE_DIRS+=	scsi_target
+SE_SCSI_TARGET= \
+	Makefile \
+	scsi_target.c \
+	scsi_target.h \
+	scsi_target.8 \
+	scsi_cmds.c
+
+SE_DIRS+=	sunrpc
+SE_SUNRPC=	Makefile
+
+SE_DIRS+=	sunrpc/dir
+SE_SUNRPC_DIR= \
+	Makefile \
+	dir.x \
+	dir_proc.c \
+	rls.c
+
+SE_DIRS+=	sunrpc/msg
+SE_SUNRPC_MSG= \
+	Makefile \
+	msg.x \
+	msg_proc.c \
+	printmsg.c \
+	rprintmsg.c
+
+SE_DIRS+=	sunrpc/sort
+SE_SUNRPC_SORT= \
+	Makefile \
+	rsort.c \
+	sort.x \
+	sort_proc.c
+
+SE_DIRS+=	uefisign
+SE_UEFISIGN=	uefikeys
+
+SE_DIRS+=	ypldap
+SE_YPLDAP=	ypldap.conf
+
 .if ${MK_HAST} != "no"
 LDIRS+=		hast
-XFILES+=	hast/ucarp.sh \
-		hast/ucarp_down.sh \
-		hast/ucarp_up.sh \
-		hast/vip-down.sh \
-		hast/vip-up.sh
+SE_DIRS+=	hast
+SE_HAST=	ucarp.sh \
+	ucarp_down.sh \
+	ucarp_up.sh \
+	vip-down.sh \
+	vip-up.sh
 .endif
 
 .if ${MK_USB} != "no"
 LDIRS+=		libusb20
-XFILES+=	libusb20/Makefile \
-		libusb20/README \
-		libusb20/util.c \
-		libusb20/util.h \
-		libusb20/bulk.c \
-		libusb20/control.c
+SE_DIRS+=	libusb20
+SE_LIBUSB20= \
+	Makefile \
+	README \
+	util.c \
+	util.h \
+	bulk.c \
+	control.c
 .endif
 
-.if ${MACHINE_CPUARCH} == "amd64"
-.if ${MK_BHYVE} != "no"
-LDIRS+=		bhyve
-XFILES+=	bhyve/vmrun.sh
-PACKAGE_bhyve/vmrun.sh=	bhyve
-.endif
-.endif
 
-# Define SHARED to indicate whether you want symbolic links to the system
-# source (``symlinks''), or a separate copy (``copies''); (latter useful
-# in environments where it's not possible to keep /sys publicly readable)
-SHARED?=	copies
+# Setup the FILES_GROUPS for all DIRS variables above.
+# The variables are prefixed by 'SE_' to prevent variable collision in
+# other parts of the system
+.for d in ${SE_DIRS}
+.for f in ${SE_${d:tu:C/\//_/g}}
+SER_${d:tu:C/\//_/g}+=	${d}/${f}
+.endfor
+FILESGROUPS+=	SER_${d:tu:C/\//_/g}
+SER_${d:tu:C/\//_/g}DIR+=	${SHAREDIR}/examples/${d}
+.endfor
 
-beforeinstall: ${SHARED} etc-examples
-META_TARGETS+=	copies symlinks
-.ORDER: ${SHARED} etc-examples
+BINDIR= ${SHAREDIR}/examples
 
+beforeinstall: copies etc-examples
+META_TARGETS+=	copies
+.ORDER: etc-examples
+
 copies:
 .for i in ${LDIRS}
 	if [ -L ${DESTDIR}${BINDIR}/$i ]; then \
 		rm -f ${DESTDIR}${BINDIR}/$i; \
 	fi
 .endfor
-.for file in ${XFILES}
-	${INSTALL} -T package=${PACKAGE_${file}:Uexamples} -o ${SHAREOWN} -g ${SHAREGRP} -m ${SHAREMODE} \
-		${.CURDIR}/${file} ${DESTDIR}${BINDIR}/${file}
-.endfor
 
-symlinks:
-.for i in ${LDIRS}
-	rm -rf ${DESTDIR}${BINDIR}/$i
-	${INSTALL} ${TAG_ARGS} -l s ${.CURDIR}/$i ${DESTDIR}${BINDIR}/$i
-.endfor
-
 etc-examples:
-.if ${SHARED} != "symlinks"
 	${_+_}(cd ${SRCTOP}/etc; ${MAKE} etc-examples)
-.endif
 
-.if ${SHARED} != "symlinks"
-SUBDIR=	smbfs
-.if ${MK_IPFILTER} != "no"
-SUBDIR+=ipfilter
-.endif
-.if ${MK_PF} != "no"
-SUBDIR+=pf
-.endif
-.endif
+SUBDIR+=	smbfs
 
 HAS_TESTS=
 SUBDIR.${MK_TESTS}+= tests



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201805091353.w49DrBCR066868>