Re: /usr/src/Makefile.inc1 typo?

From: Warner Losh <imp_at_bsdimp.com>
Date: Tue, 13 Dec 2022 01:36:42 UTC
On Mon, Dec 12, 2022, 6:31 PM bob prohaska <fbsd@www.zefox.net> wrote:

> On Mon, Dec 12, 2022 at 05:40:11PM -0700, Warner Losh wrote:
> > On Mon, Dec 12, 2022, 2:21 PM Mark Millard <marklmi@yahoo.com> wrote:
> >
> > > On Dec 12, 2022, at 12:39, bob prohaska <fbsd@www.zefox.net> wrote:
> > >
> > > > It looks like there might be a typo (or nomenclature change)
> > > > in armv7.
> > > >
> > > > Last attempt at installkernel stopped with
> > > > make[1]: "/usr/src/Makefile.inc1" line 163: Unknown target
> armv7:armv7
> > > > . . .
> > >
> > > You suffer from bad timing relative to main's [so: 14's]:
>
> 8-)
>
> > >
> > > Sun, 11 Dec 2022
> > >    . . .
> > >     ??? git: 83bf6ab56829 - main - uname: switch machine to
> HW_MACHINE_ARCH
> > > Piotr Kubaj
> > > . . .
> > > Mon, 12 Dec 2022
> > >    . . .
> > >     ??? git: 85dd85323614 - main - Revert "uname: switch machine to
> > > HW_MACHINE_ARCH" Piotr Kubaj
> > >     ??? Re: git: 83bf6ab56829 - main - uname: switch machine to
> > > HW_MACHINE_ARCH Piotr Kubaj
> > > . . .
> > >
> > > Having a system built from a source tree from between the 2
> > > commits one ends up with a broken default native build
> > > environment with complaints about "target NAME:NAME" when the
> > > correct naming for the context has 2 distinct names, such as
> > > arm and armv7 in your context. (That need not be the only
> > > complaint.)
> > >
> > > It may be that explicitly listing TARGET=arm TARGET_ARCH=armv7
> > > on either the make command line(s) or in the environment(s)
> > > might allow a valid build from the messed up context. (But
> > > such is untested.) I've no clue if a full rebuild-from-scratch
> > > might be needed. If it works, you would likely need to be
> > > explicit, even for installkernel and installworld, not just
> > > for building.
> > >
>
> Adding TARGET=arm TARGET_ARCH=armv7 to the build command line didn't
> help. Removing /usr/obj/usr/ didn't help either.
>
> > Libc is all that's needed. Use "make MACHINE=arm" though maybe it's a
> > general workaround.
> >
>
> Maybe I overdid with rm /usr/obj/ but adding MACHINE=arm
> to the make command seems to have got buildworld unstuck. It'll
> take a couple of days to find out for sure 8-)
>

Yes. Make(1) only sets MACHINE if it's not in the environment or the
command line.

Warner


Many thanks to all who replied!
>
> bob prohaska
>
>
>