Subject: building with OBJDIR
To: None <current-users@netbsd.org>
From: NetBSD Mailing list <netbsd@mrynet.com>
List: current-users
Date: 01/07/2000 16:34:08
OK, I give.
Could someone help me set up obj directories outside of the source tree?
By default, "make obj" embeds them in the source tree.
Setting BSDOBJDIR and/or SRCOBJDIR effects no change to this regardless of
the MAKEOBJDIR setting.
Setting MAKEOBJDIR works correctly (e.g. MAKEOBJDIR=obj.vax).
I want to use /usr/obj as the location for obj files. The sources
are NFS mounted, and the traffic is unnecessary for the obj's.
What am I missing here? The simple existance of /usr/obj triggering
its use is what I'm accustomed to elsewhere.
Per mk/bsd.README (for easy reference):
>BSDOBJDIR The real path to the system 'obj' tree, so that 'make obj'
> will work correctly. [/usr/obj]
>
>make(1) looks for the existance of a subdirectory (or a symlink to a
>directory) of the source directory into which built targets should be
>placed. If an environment variable named MAKEOBJDIR is set, make(1)
>uses its value as the name of the object directory; failing that, make
>first looks for a subdirectory named "obj.${MACHINE}", and if that
>doesn't exist, it looks for "obj".
>
>Object directories are not created automatically by make(1) if they
>don't exist; you need to run a separate "make obj". (This will happen
>during a top-level build if "MKOBJDIRS" is set to a value other than
>"no"). When the source directory is a subdirectory of ${BSDSRCDIR},
>object directories are created in a separate object directory tree,
>and a symlink to the object directory in that tree is created in the
>source directory.
>
>Several variables used by <bsd.obj.mk> control exactly what
>directories and links get created during a "make obj":
>
>MAKEOBJDIR If set, this is the component name of the object
> directory.
>
>OBJMACHINE If this is set but MAKEOBJDIR is not set, creates
> object directories or links named "obj.${MACHINE}";
> otherwise, just creates ones named "obj".
>
>USR_OBJMACHINE If set, and the current directory is a subdirectory of
> ${BSDSRCDIR}, create object directory in the
> corresponding subdirectory of ${BSDOBJDIR}.${MACHINE};
> otherwise, create it in the corresponding subdirectory
> of ${BSDOBJDIR}
Thanks and stuff,
-skots
--
Scott G. Akmentins-Taylor InterNet: staylor@mrynet.com
MRY Systems staylor@mrynet.lv
(Skots Gregorijs Akmentins-Teilors -- just call me "Skots")
----- Labak miris neka sarkans -----