git: 0c3627f44d49 - main - bsdinstall avoid subdir depending on parent

From: Simon J. Gerraty <sjg_at_FreeBSD.org>
Date: Fri, 21 Apr 2023 05:01:25 UTC
The branch main has been updated by sjg:

URL: https://cgit.FreeBSD.org/src/commit/?id=0c3627f44d49b460d5b9156145dec9d4a91beb2c

commit 0c3627f44d49b460d5b9156145dec9d4a91beb2c
Author:     Simon J. Gerraty <sjg@FreeBSD.org>
AuthorDate: 2023-04-21 05:00:40 +0000
Commit:     Simon J. Gerraty <sjg@FreeBSD.org>
CommitDate: 2023-04-21 05:00:40 +0000

    bsdinstall avoid subdir depending on parent
    
    When not doing tree walks, it is bad for sub-dirs to depend on
    parents.  Move the generation of opt_osname.h to distextract
    and have others that need that depend on it.
    
    In usr.sbin/bsdinstall use SUBDIR_DEPEND_ so tree walking still works.
    
    Reviewed by:    obrien
    Differential Revision:  https://reviews.freebsd.org/D39742
---
 usr.sbin/bsdinstall/Makefile             |  9 ++-------
 usr.sbin/bsdinstall/distextract/Makefile | 11 ++++++++++-
 usr.sbin/bsdinstall/distfetch/Makefile   |  2 +-
 usr.sbin/bsdinstall/partedit/Makefile    |  2 +-
 4 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/usr.sbin/bsdinstall/Makefile b/usr.sbin/bsdinstall/Makefile
index e71cae726536..aaa006694222 100644
--- a/usr.sbin/bsdinstall/Makefile
+++ b/usr.sbin/bsdinstall/Makefile
@@ -3,19 +3,14 @@
 OSNAME?=	FreeBSD
 SUBDIR=	distextract distfetch partedit runconsoles scripts
 SUBDIR_PARALLEL=
+SUBDIR_DEPEND_distfetch = distextract
+SUBDIR_DEPEND_partedit = distextract
 SCRIPTS= bsdinstall
 MAN= bsdinstall.8
 PACKAGE=	bsdinstall
-GENHDRS=	opt_osname.h
-SRCS+=		${GENHDRS}
-CLEANFILES+=	${GENHDRS}
 
 SCRIPTS+=	startbsdinstall
 SCRIPTSDIR_startbsdinstall=	${LIBEXECDIR}/bsdinstall
 
-opt_osname.h: .PHONY
-	if ! grep -q "^#define OSNAME \"${OSNAME}\"$"" ${.TARGET}; then \
-		echo "#define OSNAME \"${OSNAME}\"" > ${.TARGET}; \
-	fi
 
 .include <bsd.prog.mk>
diff --git a/usr.sbin/bsdinstall/distextract/Makefile b/usr.sbin/bsdinstall/distextract/Makefile
index 6ae9bb65e8fb..0292c01e78f4 100644
--- a/usr.sbin/bsdinstall/distextract/Makefile
+++ b/usr.sbin/bsdinstall/distextract/Makefile
@@ -2,9 +2,18 @@
 
 BINDIR= ${LIBEXECDIR}/bsdinstall
 PROG=	distextract
-CFLAGS+= -I${SRCTOP}/contrib/bsddialog/lib -I${.OBJDIR}/..
+CFLAGS+= -I${SRCTOP}/contrib/bsddialog/lib -I.
 LIBADD=	archive bsddialog m
+SRCS=	distextract.c
 
 MAN=
+GENHDRS=	opt_osname.h
+SRCS+=		${GENHDRS}
+CLEANFILES+=	${GENHDRS}
+
+opt_osname.h: .PHONY
+	if ! grep -q "^#define OSNAME \"${OSNAME}\"$"" ${.TARGET}; then \
+		echo "#define OSNAME \"${OSNAME}\"" > ${.TARGET}; \
+	fi
 
 .include <bsd.prog.mk>
diff --git a/usr.sbin/bsdinstall/distfetch/Makefile b/usr.sbin/bsdinstall/distfetch/Makefile
index 0104df0e3aec..1555719dd15d 100644
--- a/usr.sbin/bsdinstall/distfetch/Makefile
+++ b/usr.sbin/bsdinstall/distfetch/Makefile
@@ -2,7 +2,7 @@
 
 BINDIR= ${LIBEXECDIR}/bsdinstall
 PROG=	distfetch
-CFLAGS+=	-I${SRCTOP}/contrib/bsddialog/lib -I${.OBJDIR}/..
+CFLAGS+=	-I${SRCTOP}/contrib/bsddialog/lib -I${.OBJDIR}/../distextract
 LIBADD=	fetch bsddialog
 
 MAN=
diff --git a/usr.sbin/bsdinstall/partedit/Makefile b/usr.sbin/bsdinstall/partedit/Makefile
index 96c4ddb53961..df17028eab2a 100644
--- a/usr.sbin/bsdinstall/partedit/Makefile
+++ b/usr.sbin/bsdinstall/partedit/Makefile
@@ -5,7 +5,7 @@ PROG=	partedit
 LINKS= ${BINDIR}/partedit ${BINDIR}/autopart \
        ${BINDIR}/partedit ${BINDIR}/scriptedpart
 SYMLINKS= ../libexec/bsdinstall/partedit /usr/sbin/sade
-CFLAGS+=	-I${SRCTOP}/contrib/bsddialog/lib -I${.OBJDIR}/..
+CFLAGS+=	-I${SRCTOP}/contrib/bsddialog/lib -I${.OBJDIR}/../distextract
 LIBADD+=	geom util bsddialog
 
 PARTEDIT_ARCH= ${MACHINE}