Hi Christian,
I think you need to pass an absolute directory, in which all the custom
files, regardless of repo, are located. That is essentially how we use
it - jdk/make/closed has files included from other repos. Of course that
only works if names are unique.
David
On 4/03/2017 9:11 AM, Rob McKenna wrote:
Hi Christian,
I'm cc'ing build-dev (and bcc'ing jdk8u-dev) as that may be a more appropriate
venue for this discussion.
-Rob
On 03/03/17 10:19, Christian Thalinger wrote:
At Twitter we are using the custom extension mechanism to separate our
additional code from upstream in order to minimize conflicts. Yesterday I
wanted to add a custom extension for:
jdk/make/lib/ServiceabilityLibraries.gmk
which has this include directive:
# Include custom extensions if available.
-include $(CUSTOM_MAKE_DIR)/lib/ServiceabilityLibraries.gmk
We are already using the mechanism for top-level make files, e.g. make/Main.gmk:
# Include the corresponding custom file, if present.
-include $(CUSTOM_MAKE_DIR)/Main.gmk
and we a configuring with:
--with-custom-make-dir=make/closed
This works fine for make/ but not for jdk/make/:
$ make jdk CUSTOM_MAKE_DIR=make/closed
…
## Starting jdk
lib/ServiceabilityLibraries.gmk:27:
make/closed/lib/ServiceabilityLibraries.gmk: No such file or directory
make[2]: *** No rule to make target
`make/closed/lib/ServiceabilityLibraries.gmk'. Stop.
make[1]: *** [libs-only] Error 2
make: *** [jdk-only] Error 2
(I changed "-include" to “include” to provoke the error.)
jdk/make/ files expect CUSTOM_MAKE_DIR to be just “closed” but that doesn’t
work for top-level:
$ make jdk CUSTOM_MAKE_DIR=closed
/Users/cthalinger/twitter8//make/Main.gmk:35: closed/Main.gmk: No such file or
directory
make: *** No rule to make target `closed/Main.gmk'. Stop.
How is this supposed to work?