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?