What to pass to --with-custom-make-dir?
Christian Thalinger
cthalinger at twitter.com
Mon Mar 6 18:51:58 UTC 2017
> 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?
>
> 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