On Mon, 17 Mar 2025 10:02:12 GMT, Joachim Kern <jk...@openjdk.org> wrote:
>> make/StaticLibs.gmk line 116: >> >>> 114: # DEPS := $(STATIC_LIB_FILE), \ >>> 115: # OUTPUT_FILE := $(STATIC_LIB_EXPORT_FILES), \ >>> 116: # COMMAND := $(AR) $(ARFLAGS) -w $(patsubst %.exp, %, $@) | $(GREP) >>> -v '^\.' | $(AWK) '{print $$1}' | sort -u >$@, \ >> >> The problem with using SetupExecute here is using `$@` variables in the >> command line. To get this to work you need to delay resolving such >> variables. It may work by adding an adequate number of extra `$`, but I'm >> not sure how many would be needed or if it would actually work. You could >> try this, but it's probably trickier to get right than just doubling: >> >> Suggestion: >> >> # COMMAND := $(AR) $(ARFLAGS) -w $$(patsubst %.exp, %, $$@) | $(GREP) -v >> '^.' | $(AWK) '{print $$$$1}' | sort -u >$$@, \ >> >> >> You are probably better off using the explicit output file variable >> `$(STATIC_LIB_EXPORT_FILES)`. > > Thanks Eric, this might help with the command, but my problem is the > dependency. The rules to generate the export files is not called, because in > the build output I cannot find any line 'Generating export list for static > libs'. Can you help out here too? The problem seems to be that `$(generate_export_list)` is empty and I do not know why. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/24062#discussion_r1998701815