Re: git: 83d0b8c089d8 - main - bsdinstall generate opt_osname.h in include

From: Warner Losh <imp_at_bsdimp.com>
Date: Thu, 07 Dec 2023 03:32:10 UTC
Silly question: why not just add it to CFLAGS with -DOSNAME=\"${OSNAME}\"
rather than generating this file?

Warner

On Wed, Dec 6, 2023, 7:35 PM Simon J. Gerraty <sjg@freebsd.org> wrote:

> The branch main has been updated by sjg:
>
> URL:
> https://cgit.FreeBSD.org/src/commit/?id=83d0b8c089d807d6d4c50cba40ae2d0fedb3bf1b
>
> commit 83d0b8c089d807d6d4c50cba40ae2d0fedb3bf1b
> Author:     Simon J. Gerraty <sjg@FreeBSD.org>
> AuthorDate: 2023-12-07 02:34:52 +0000
> Commit:     Simon J. Gerraty <sjg@FreeBSD.org>
> CommitDate: 2023-12-07 02:34:52 +0000
>
>     bsdinstall generate opt_osname.h in include
>
>     This allows the subdirs that do more work to run in parallel
>
>     Reviewed by:    jrtc27
>     Differential Revision:  https://reviews.freebsd.org/D42947
> ---
>  usr.sbin/bsdinstall/Makefile                    |  7 ++++---
>  usr.sbin/bsdinstall/Makefile.depend             | 12 +++++++-----
>  usr.sbin/bsdinstall/Makefile.inc                |  3 +++
>  usr.sbin/bsdinstall/distextract/Makefile        |  9 ---------
>  usr.sbin/bsdinstall/distextract/Makefile.depend |  1 +
>  usr.sbin/bsdinstall/distfetch/Makefile          |  1 -
>  usr.sbin/bsdinstall/distfetch/Makefile.depend   |  2 +-
>  usr.sbin/bsdinstall/include/Makefile            | 13 +++++++++++++
>  usr.sbin/bsdinstall/include/Makefile.depend     | 10 ++++++++++
>  usr.sbin/bsdinstall/partedit/Makefile           |  1 -
>  usr.sbin/bsdinstall/partedit/Makefile.depend    |  2 +-
>  11 files changed, 40 insertions(+), 21 deletions(-)
>
> diff --git a/usr.sbin/bsdinstall/Makefile b/usr.sbin/bsdinstall/Makefile
> index bbf8071a91c3..422bdcaaa77a 100644
> --- a/usr.sbin/bsdinstall/Makefile
> +++ b/usr.sbin/bsdinstall/Makefile
> @@ -1,9 +1,9 @@
>
> -OSNAME?=       FreeBSD
>  SUBDIR=        distextract distfetch partedit runconsoles scripts
>  SUBDIR_PARALLEL=
> -SUBDIR_DEPEND_distfetch = distextract
> -SUBDIR_DEPEND_partedit = distextract
> +SUBDIR_DEPEND_distextract = include
> +SUBDIR_DEPEND_distfetch = include
> +SUBDIR_DEPEND_partedit = include
>  SCRIPTS= bsdinstall
>  MAN= bsdinstall.8
>  PACKAGE=       bsdinstall
> @@ -11,5 +11,6 @@ PACKAGE=      bsdinstall
>  SCRIPTS+=      startbsdinstall
>  SCRIPTSDIR_startbsdinstall=    ${LIBEXECDIR}/bsdinstall
>
> +UPDATE_DEPENDFILE= no
>
>  .include <bsd.prog.mk>
> diff --git a/usr.sbin/bsdinstall/Makefile.depend
> b/usr.sbin/bsdinstall/Makefile.depend
> index 11aba52f82cf..6ce3965b1642 100644
> --- a/usr.sbin/bsdinstall/Makefile.depend
> +++ b/usr.sbin/bsdinstall/Makefile.depend
> @@ -1,10 +1,12 @@
> -# Autogenerated - do NOT edit!
> +# Not autogenerated - take care
>
>  DIRDEPS = \
> +       usr.sbin/bsdinstall/distextract \
> +       usr.sbin/bsdinstall/distfetch \
> +       usr.sbin/bsdinstall/include \
> +       usr.sbin/bsdinstall/partedit \
> +       usr.sbin/bsdinstall/runconsoles \
> +       usr.sbin/bsdinstall/scripts \
>
>
>  .include <dirdeps.mk>
> -
> -.if ${DEP_RELDIR} == ${_DEP_RELDIR}
> -# local dependencies - needed for -jN in clean tree
> -.endif
> diff --git a/usr.sbin/bsdinstall/Makefile.inc
> b/usr.sbin/bsdinstall/Makefile.inc
> index dc4e35b73799..c0907ffac469 100644
> --- a/usr.sbin/bsdinstall/Makefile.inc
> +++ b/usr.sbin/bsdinstall/Makefile.inc
> @@ -1 +1,4 @@
>  PACKAGE=bsdinstall
> +
> +CFLAGS+= -I${SRCTOP}/contrib/bsddialog/lib -I${.OBJDIR}/../include
> +
> diff --git a/usr.sbin/bsdinstall/distextract/Makefile
> b/usr.sbin/bsdinstall/distextract/Makefile
> index 368e1b1378ab..6813c9a79391 100644
> --- a/usr.sbin/bsdinstall/distextract/Makefile
> +++ b/usr.sbin/bsdinstall/distextract/Makefile
> @@ -1,18 +1,9 @@
>
>  BINDIR= ${LIBEXECDIR}/bsdinstall
>  PROG=  distextract
> -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/distextract/Makefile.depend
> b/usr.sbin/bsdinstall/distextract/Makefile.depend
> index 10731d6ccb01..dd87c979eb80 100644
> --- a/usr.sbin/bsdinstall/distextract/Makefile.depend
> +++ b/usr.sbin/bsdinstall/distextract/Makefile.depend
> @@ -9,6 +9,7 @@ DIRDEPS = \
>         lib/libc \
>         lib/libcompiler_rt \
>         lib/msun \
> +       usr.sbin/bsdinstall/include \
>
>
>  .include <dirdeps.mk>
> diff --git a/usr.sbin/bsdinstall/distfetch/Makefile
> b/usr.sbin/bsdinstall/distfetch/Makefile
> index 325f5c55cfd5..8a9011734592 100644
> --- a/usr.sbin/bsdinstall/distfetch/Makefile
> +++ b/usr.sbin/bsdinstall/distfetch/Makefile
> @@ -1,7 +1,6 @@
>
>  BINDIR= ${LIBEXECDIR}/bsdinstall
>  PROG=  distfetch
> -CFLAGS+=       -I${SRCTOP}/contrib/bsddialog/lib
> -I${.OBJDIR}/../distextract
>  LIBADD=        fetch bsddialog
>
>  MAN=
> diff --git a/usr.sbin/bsdinstall/distfetch/Makefile.depend
> b/usr.sbin/bsdinstall/distfetch/Makefile.depend
> index 16e54d9b2a6e..9e9ac6d1bae8 100644
> --- a/usr.sbin/bsdinstall/distfetch/Makefile.depend
> +++ b/usr.sbin/bsdinstall/distfetch/Makefile.depend
> @@ -8,7 +8,7 @@ DIRDEPS = \
>         lib/libc \
>         lib/libcompiler_rt \
>         lib/libfetch \
> -       usr.sbin/bsdinstall/distextract \
> +       usr.sbin/bsdinstall/include \
>
>
>  .include <dirdeps.mk>
> diff --git a/usr.sbin/bsdinstall/include/Makefile
> b/usr.sbin/bsdinstall/include/Makefile
> new file mode 100644
> index 000000000000..15f947defa9b
> --- /dev/null
> +++ b/usr.sbin/bsdinstall/include/Makefile
> @@ -0,0 +1,13 @@
> +OSNAME?=       FreeBSD
> +GENHDRS=       opt_osname.h
> +SRCS+=         ${GENHDRS}
> +CLEANFILES+=   ${GENHDRS}
> +
> +opt_osname.h: ${META_NOPHONY}
> +       @if ! grep -q "^#define OSNAME \"${OSNAME}\"$"" ${.TARGET} 2>
> /dev/null; then \
> +               echo "#define OSNAME \"${OSNAME}\"" > ${.TARGET}; \
> +       fi
> +
> +MK_STAGING= no
> +
> +.include <bsd.prog.mk>
> diff --git a/usr.sbin/bsdinstall/include/Makefile.depend
> b/usr.sbin/bsdinstall/include/Makefile.depend
> new file mode 100644
> index 000000000000..11aba52f82cf
> --- /dev/null
> +++ b/usr.sbin/bsdinstall/include/Makefile.depend
> @@ -0,0 +1,10 @@
> +# Autogenerated - do NOT edit!
> +
> +DIRDEPS = \
> +
> +
> +.include <dirdeps.mk>
> +
> +.if ${DEP_RELDIR} == ${_DEP_RELDIR}
> +# local dependencies - needed for -jN in clean tree
> +.endif
> diff --git a/usr.sbin/bsdinstall/partedit/Makefile
> b/usr.sbin/bsdinstall/partedit/Makefile
> index 8d7156fd16d2..397e404a126f 100644
> --- a/usr.sbin/bsdinstall/partedit/Makefile
> +++ b/usr.sbin/bsdinstall/partedit/Makefile
> @@ -4,7 +4,6 @@ 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}/../distextract
>  LIBADD+=       geom util bsddialog
>
>  PARTEDIT_ARCH= ${MACHINE}
> diff --git a/usr.sbin/bsdinstall/partedit/Makefile.depend
> b/usr.sbin/bsdinstall/partedit/Makefile.depend
> index 4d5ca3e13299..68a44a4d87a7 100644
> --- a/usr.sbin/bsdinstall/partedit/Makefile.depend
> +++ b/usr.sbin/bsdinstall/partedit/Makefile.depend
> @@ -9,7 +9,7 @@ DIRDEPS = \
>         lib/libcompiler_rt \
>         lib/libgeom \
>         lib/libutil \
> -       usr.sbin/bsdinstall/distextract \
> +       usr.sbin/bsdinstall/include \
>
>
>  .include <dirdeps.mk>
>