You want to read lndir(1).
On Sun, Feb 24, 2008 at 11:27:31PM -0800, Don Jackson wrote:
> The FAQ describes two ways to build the kernel (
> http://www.openbsd.org/faq/faq5.html#BldKernel ),
>
> # cd /usr/src/sys/arch/i386/conf
> # config GENERIC
> # cd ../compile/GENERIC
> # make clean && make depend && make
>
> or
> Variation on above process: Read-only source tree
> Sometimes, you may wish to ensure your /usr/src/sys directory
> remains untouched. This can be done by using the following process:
> $ cd /somewhere
> $ cp /usr/src/sys/arch/i386/conf/GENERIC .
> $ config -s /usr/src/sys -b . GENERIC
> $ make clean && make depend && make
>
> I would like "make release" to use the "read only source tree" variant
> above, how can I accomplish this?
>
> Right now, I see "make release" do:
>
> cd /home/4.2/src/etc/../sys/arch/amd64/conf && config GENERIC
>
> Which is going to attempt to build the GENERIC kernel right there in
> my source tree.
>
> Also, I am having some other weird problem, due to the following logic
> in the Makefile.amd64 which contains:
>
> # source tree is located via $S relative to the compilation directory
> .ifndef S
> S!= cd ../../../..; pwd
> .endif
> AMD64= $S/arch/amd64
>
> For some reason the above is setting my AMD64 to some weird path that
> is not correct on my system, namely:
>
> cd /home/4.2/src/etc/../sys/arch/amd64/conf && config GENERIC
> GENERIC:13: cannot open ../../../../arch/amd64/conf/files.amd64
> for reading: No such file or directory
>
> *** Error code 1
>
> Stop in /home/4.2/src/etc (line 11 of etc.amd64/Makefile.inc).
>
> What is the point of the above, and how can I get the path correct for
> this build?
>
> Thanks,
>
> Don