What to pass to --with-custom-make-dir?

Christian Thalinger cthalinger at twitter.com
Mon Mar 6 20:32:49 UTC 2017


> On Mar 6, 2017, at 8:51 AM, Christian Thalinger <cthalinger at twitter.com> wrote:
> 
> 
>> On Mar 3, 2017, at 4:09 PM, David Holmes <david.holmes at 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?

After reading your message a couple of times :-) I got it.  Basically pass /repo/make/closed and have all files there.

But why?  That doesn’t make any sense since there is a jdk/make/closed directory.

> 
>> 
>> 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?
> 




More information about the build-dev mailing list