> On Mar 3, 2017, at 4:09 PM, David Holmes <david.hol...@oracle.com> wrote: > > 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.
Absolute directory to where? Is $(CUSTOM_MAKE_DIR)/lib/ServiceabilityLibraries.gmk not under jdk/make/closed? > > 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?