tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
NetBSD make: determining a relative OBJDIR?
Consider a source tree with sub-directories (A) and (B),
where the code in directory (B) uses a file that is generated
by the build steps in directory (A).
For an in-place build, the directory hierarchy might look like:
$(TOP)/
|
+-- A/
| |
| +- generated-file
|
+-- B/
| |
| +- uses-generated-file
etc.
In the event an 'obj' directory is used, the tree might be
something like:
$(TOP)/
|
+-- A/
| |
| +- obj/
| |
| +- generated-file
|
+-- B/
| |
| +- uses-generated-file
etc.
If MAKEOBJDIRPREFIX is used, the obj/ tree could reside
somewhere else entirely:
$(TOP)/
|
+-- A/
|
+-- B/
| |
| +- uses-generated-file
etc.
$(MAKEOBJDIRPREFIX)/$(TOP)/
|
+-- A/
| |
| +- generated-file
|
+-- B/
|
etc.
What would be the cleanest way to is there a way to determine
the path to an obj/ directory, given relative locations of
source directories (A) and (B)?
For the Elftoolchain build I currently use nested conditional
blocks:
.if exists(${.OBJDIR}/../A)
# For in-place builds, or when MAKEOBJDIRPREFIX is used.
.elif exists(${.CURDIR}/../A/${.OBJDIR:S,${.CURDIR}/,,}
# For builds using an obj/ directory.
.endif
I was wondering if there was a better way.
Thanks,
Joseph Koshy
Home |
Main Index |
Thread Index |
Old Index