Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Nov 2015 20:38:17 +0000 (UTC)
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r291330 - in head: gnu/lib/libreadline/readline lib/libc/tests/rpc usr.bin/kdump usr.bin/netstat usr.bin/svn/svn
Message-ID:  <201511252038.tAPKcHQZ018989@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bdrewery
Date: Wed Nov 25 20:38:17 2015
New Revision: 291330
URL: https://svnweb.freebsd.org/changeset/base/291330

Log:
  Replace DPSRCS that work fine in SRCS.
  
  This is so that 'make depend' is not a required build step in these
  files.
  
  DPSRCS is overall unneeded.  DPSRCS already contains SRCS, so anything
  which can safely be in SRCS should be.  DPSRCS is mostly just a way to
  generate files that should not be linked into the final PROG/LIB.  For
  headers and grammars it is safe for them to be in SRCS since they will
  be excluded during linking and installation.
  
  The only remaining uses of DPSRCS are for generating .c or .o files that
  must be built before 'make depend' can run 'mkdep' on the SRCS c files
  list.  A semi-proper example is in tests/sys/kern/acct/Makefile where a
  checked-in .c file has an #include on a generated .c file.  The
  generated .c file should not be linked into the final PROG though since
  it is #include'd.  The more proper way here is just to build/link it in
  though without DPSRCS.  Another example is in sys/modules/linux/Makefile
  where a shell script runs to parse a DPSRCS .o file that should not be
  linked into the module.  Beyond those, the need for DPSRCS is largely
  unneeded, redundant, and forces 'make depend' to be ran.  Generally,
  these Makefiles should avoid the need for DPSRCS and define proper
  dependencies for their files as well.
  
  An example of an improper usage and why this matters is in usr.bin/netstat.
  nl_defs.h was only in DPSRCS and so was not generated during 'make all',
  but only during 'make depend'.  The files including it lacked proper
  depenencies on it, which forced running 'make depend' to workaround that
  bug.  The 'make depend' target should mostly be used for incremental build
  help, not to produce a working build.  This specific example was broken in
  the meta build until r287905 since it does not run 'make depend'.
  
  The gnu/lib/libreadline/readline case is fine since bsd.lib.mk has 'OBJS:
  SRCS:M*.h' when there is no .depend file.
  
  Sponsored by:	EMC / Isilon Storage Division
  MFC after:	1 week

Modified:
  head/gnu/lib/libreadline/readline/Makefile
  head/lib/libc/tests/rpc/Makefile
  head/usr.bin/kdump/Makefile
  head/usr.bin/netstat/Makefile
  head/usr.bin/svn/svn/Makefile

Modified: head/gnu/lib/libreadline/readline/Makefile
==============================================================================
--- head/gnu/lib/libreadline/readline/Makefile	Wed Nov 25 20:38:07 2015	(r291329)
+++ head/gnu/lib/libreadline/readline/Makefile	Wed Nov 25 20:38:17 2015	(r291330)
@@ -16,9 +16,8 @@ INSTALLED_HEADERS= readline.h chardefs.h
 CFLAGS+=	-I${.OBJDIR}/..
 SRCDIR=	${.CURDIR}/../../../../contrib/libreadline
 
-beforebuild: ${INSTALLED_HEADERS}
 CLEANFILES+= ${INSTALLED_HEADERS}
-DPSRCS+= ${INSTALLED_HEADERS}
+SRCS+= ${INSTALLED_HEADERS}
 
 .for _h in ${INSTALLED_HEADERS}
 ${_h}:	${SRCDIR}/${_h} .NOMETA

Modified: head/lib/libc/tests/rpc/Makefile
==============================================================================
--- head/lib/libc/tests/rpc/Makefile	Wed Nov 25 20:38:07 2015	(r291329)
+++ head/lib/libc/tests/rpc/Makefile	Wed Nov 25 20:38:17 2015	(r291330)
@@ -16,7 +16,7 @@ h_testbits_xdr.c: ${RPCSRC} h_testbits.h
 
 CLEANFILES+=	${RPCSRC:.x=.h} ${RPCSRC:.x=.c} h_testbits_xdr.c
 CFLAGS+=	-I${.OBJDIR}
-DPSRCS+=	h_testbits.h
+SRCS+=		h_testbits.h
 
 LDADD+=		-lrpcsvc -lutil
 DPADD+=		${LIBRPCSVC} ${LIBUTIL}

Modified: head/usr.bin/kdump/Makefile
==============================================================================
--- head/usr.bin/kdump/Makefile	Wed Nov 25 20:38:07 2015	(r291329)
+++ head/usr.bin/kdump/Makefile	Wed Nov 25 20:38:17 2015	(r291330)
@@ -6,8 +6,7 @@
 .PATH: ${.CURDIR}/../ktrace
 
 PROG=		kdump
-SRCS=		kdump_subr.c kdump.c ioctl.c subr.c utrace.c
-DPSRCS=		kdump_subr.h
+SRCS=		kdump_subr.c kdump_subr.h kdump.c ioctl.c subr.c utrace.c
 CFLAGS+=	-I${.CURDIR}/../ktrace -I${.CURDIR} -I${.CURDIR}/../.. -I.
 
 .if ${MK_CASPER} != "no"

Modified: head/usr.bin/netstat/Makefile
==============================================================================
--- head/usr.bin/netstat/Makefile	Wed Nov 25 20:38:07 2015	(r291329)
+++ head/usr.bin/netstat/Makefile	Wed Nov 25 20:38:17 2015	(r291330)
@@ -6,8 +6,7 @@
 PROG=	netstat
 SRCS=	if.c inet.c main.c mbuf.c mroute.c netisr.c nl_symbols.c route.c \
 	unix.c mroute6.c ipsec.c bpf.c pfkey.c sctp.c \
-	flowtable.c
-DPSRCS=	nl_defs.h
+	flowtable.c nl_defs.h
 
 nl_symbols.c: nlist_symbols
 	awk '\

Modified: head/usr.bin/svn/svn/Makefile
==============================================================================
--- head/usr.bin/svn/svn/Makefile	Wed Nov 25 20:38:07 2015	(r291329)
+++ head/usr.bin/svn/svn/Makefile	Wed Nov 25 20:38:17 2015	(r291330)
@@ -52,7 +52,7 @@ DPADD=	${LIBSVN_CLIENT} ${LIBSVN_WC} ${L
 
 CLEANFILES+=	svnlite.1
 .if(defined(ORGANIZATION) && !empty(ORGANIZATION))
-DPSRCS+=	freebsd-organization.h
+SRCS+=		freebsd-organization.h
 CLEANFILES+=	freebsd-organization.h
 CFLAGS+=	-I. -DHAS_ORGANIZATION_NAME
 freebsd-organization.h:



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