Hello Matthias,

Double '$' in makefiles is used to escape '$' when called by the $(eval $(call ...)) combination. Care needs to be taken to use either double or single '$' to control when (in which make evaluation phase) a variable or macro call is evaluated. In practice this means that we mainly use double '$' inside macro bodies. Sometimes either will work, but we have decided to stick to double '$' inside macro bodies unless there is a reason not to, for consistency.

The call to isTargetOs in this case is inside the macro body of SetupRunJtregTest, so the use of double '$' is expected and preferred.

/Erik

On 3/15/23 04:27, Baesken, Matthias wrote:

Hi, I noticed a double usage  of ‘$’  in

jdk/make/RunTests.gmk

800   ifeq ($$(call isTargetOs, windows), true)

801 $1_JTREG_BASIC_OPTIONS += -e:_NT_SYMBOL_PATH

Is there some good reason for this,  the other call isTargetOs   - snippets in the Makefiles do not use $$ ?

Best regards, Matthias

Reply via email to