235 HOTSPOT_VARIANT_LIBS_TARGETS := $(addsuffix -libs, $(HOTSPOT_VARIANT_TARGETS)) 236 237 define DeclareHotspotGensrcRecipe 238 hotspot-$1-gensrc: 239 $$(call LogInfo, Building JVM variant '$1' with features '$(JVM_FEATURES_$1)') 240 +($(CD) $(TOPDIR)/make/hotspot && $(MAKE) $(MAKE_ARGS) -f gensrc/GenerateSources.gmk \ 241 JVM_VARIANT=$1) 242 endef 243 244 $(foreach v, $(JVM_VARIANTS), $(eval $(call DeclareHotspotGensrcRecipe,$v))) 245 246 define DeclareHotspotLibsRecipe 247 hotspot-$1-libs: 248 +($(CD) $(TOPDIR)/make/hotspot && $(MAKE) $(MAKE_ARGS) -f lib/CompileLibraries.gmk \ 249 JVM_VARIANT=$1) 250 endef 251 252 $(foreach v, $(JVM_VARIANTS), $(eval $(call DeclareHotspotLibsRecipe,$v))) 253 254 hotspot-ide-project: 255 +($(CD) $(TOPDIR)/make/hotspot && $(MAKE) $(MAKE_ARGS) -f ide/CreateVSProject.gmk) 256 257 ALL_TARGETS += $(HOTSPOT_VARIANT_TARGETS) $(HOTSPOT_VARIANT_GENSRC_TARGETS) \ 258 $(HOTSPOT_VARIANT_LIBS_TARGETS) hotspot-ide-project 259 260 ################################################################################ 261 # Generate libs and launcher targets for creating compile_commands.json fragments 262 define DeclareCompileCommandsRecipe 263 $1-compile-commands: 264 $$(call LogInfo, Generating compile_commands.json fragments for $1) 265 +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Main.gmk $1-only \ 266 GENERATE_COMPILE_COMMANDS_ONLY=true) 267 268 COMPILE_COMMANDS_TARGETS_$2 += $1-compile-commands 269 endef 270 271 $(foreach t, $(HOTSPOT_VARIANT_LIBS_TARGETS), \ 272 $(eval $(call DeclareCompileCommandsRecipe,$t,HOTSPOT)) \ 273 ) 274 275 $(foreach t, $(LIBS_TARGETS) $(LAUNCHER_TARGETS), \ 276 $(eval $(call DeclareCompileCommandsRecipe,$t,JDK)) \ 277 ) 278 279 compile-commands compile-commands-hotspot: 280 +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileCommands.gmk) 281 282 ALL_TARGETS += $(COMPILE_COMMANDS_TARGETS_HOTSPOT) $(COMPILE_COMMANDS_TARGETS_JDK) 283 ALL_TARGETS += compile-commands compile-commands-hotspot 284 285 ################################################################################ 286 # VS Code projects 287 vscode-project: 288 +($(CD) $(TOPDIR)/make/vscode && $(MAKE) $(MAKE_ARGS) -f CreateVSCodeProject.gmk \ 289 VSCODE_INDEXER=cpptools) 290 291 vscode-project-clangd: 292 +($(CD) $(TOPDIR)/make/vscode && $(MAKE) $(MAKE_ARGS) -f CreateVSCodeProject.gmk \ 293 VSCODE_INDEXER=clangd) 294 295 vscode-project-rtags: 296 +($(CD) $(TOPDIR)/make/vscode && $(MAKE) $(MAKE_ARGS) -f CreateVSCodeProject.gmk \ 297 VSCODE_INDEXER=rtags) 298 299 vscode-project-ccls: 300 +($(CD) $(TOPDIR)/make/vscode && $(MAKE) $(MAKE_ARGS) -f CreateVSCodeProject.gmk \ 301 VSCODE_INDEXER=ccls) 302 303 ALL_TARGETS += vscode-project vscode-project-clangd vscode-project-rtags \ 304 vscode-project-ccls 305 306 ################################################################################ 307 # Build demos targets 308 309 demos-jdk: 310 +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileDemos.gmk) 311 312 test-image-demos-jdk: 313 +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileDemos.gmk images) 314 315 ALL_TARGETS += demos-jdk test-image-demos-jdk 316 317 ################################################################################ 318 # Jigsaw specific data and analysis targets. 319 320 generate-summary: | 235 HOTSPOT_VARIANT_LIBS_TARGETS := $(addsuffix -libs, $(HOTSPOT_VARIANT_TARGETS)) 236 237 define DeclareHotspotGensrcRecipe 238 hotspot-$1-gensrc: 239 $$(call LogInfo, Building JVM variant '$1' with features '$(JVM_FEATURES_$1)') 240 +($(CD) $(TOPDIR)/make/hotspot && $(MAKE) $(MAKE_ARGS) -f gensrc/GenerateSources.gmk \ 241 JVM_VARIANT=$1) 242 endef 243 244 $(foreach v, $(JVM_VARIANTS), $(eval $(call DeclareHotspotGensrcRecipe,$v))) 245 246 define DeclareHotspotLibsRecipe 247 hotspot-$1-libs: 248 +($(CD) $(TOPDIR)/make/hotspot && $(MAKE) $(MAKE_ARGS) -f lib/CompileLibraries.gmk \ 249 JVM_VARIANT=$1) 250 endef 251 252 $(foreach v, $(JVM_VARIANTS), $(eval $(call DeclareHotspotLibsRecipe,$v))) 253 254 hotspot-ide-project: 255 +($(CD) $(TOPDIR)/make/ide/visualstudio/hotspot && $(MAKE) $(MAKE_ARGS) \ 256 -I $(TOPDIR)/make/hotspot -f CreateVSProject.gmk) 257 258 ALL_TARGETS += $(HOTSPOT_VARIANT_TARGETS) $(HOTSPOT_VARIANT_GENSRC_TARGETS) \ 259 $(HOTSPOT_VARIANT_LIBS_TARGETS) hotspot-ide-project 260 261 ################################################################################ 262 # Generate libs and launcher targets for creating compile_commands.json fragments 263 define DeclareCompileCommandsRecipe 264 $1-compile-commands: 265 $$(call LogInfo, Generating compile_commands.json fragments for $1) 266 +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Main.gmk $1-only \ 267 GENERATE_COMPILE_COMMANDS_ONLY=true) 268 269 COMPILE_COMMANDS_TARGETS_$2 += $1-compile-commands 270 endef 271 272 $(foreach t, $(HOTSPOT_VARIANT_LIBS_TARGETS), \ 273 $(eval $(call DeclareCompileCommandsRecipe,$t,HOTSPOT)) \ 274 ) 275 276 $(foreach t, $(LIBS_TARGETS) $(LAUNCHER_TARGETS), \ 277 $(eval $(call DeclareCompileCommandsRecipe,$t,JDK)) \ 278 ) 279 280 compile-commands compile-commands-hotspot: 281 +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileCommands.gmk) 282 283 ALL_TARGETS += $(COMPILE_COMMANDS_TARGETS_HOTSPOT) $(COMPILE_COMMANDS_TARGETS_JDK) 284 ALL_TARGETS += compile-commands compile-commands-hotspot 285 286 ################################################################################ 287 # VS Code projects 288 vscode-project: 289 +($(CD) $(TOPDIR)/make/ide/vscode/hotspot && $(MAKE) $(MAKE_ARGS) -f CreateVSCodeProject.gmk \ 290 VSCODE_INDEXER=cpptools) 291 292 vscode-project-clangd: 293 +($(CD) $(TOPDIR)/make/ide/vscode/hotspot && $(MAKE) $(MAKE_ARGS) -f CreateVSCodeProject.gmk \ 294 VSCODE_INDEXER=clangd) 295 296 vscode-project-rtags: 297 +($(CD) $(TOPDIR)/make/ide/vscode/hotspot && $(MAKE) $(MAKE_ARGS) -f CreateVSCodeProject.gmk \ 298 VSCODE_INDEXER=rtags) 299 300 vscode-project-ccls: 301 +($(CD) $(TOPDIR)/make/ide/vscode/hotspot && $(MAKE) $(MAKE_ARGS) -f CreateVSCodeProject.gmk \ 302 VSCODE_INDEXER=ccls) 303 304 ALL_TARGETS += vscode-project vscode-project-clangd vscode-project-rtags \ 305 vscode-project-ccls 306 307 ################################################################################ 308 # Build demos targets 309 310 demos-jdk: 311 +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileDemos.gmk) 312 313 test-image-demos-jdk: 314 +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileDemos.gmk images) 315 316 ALL_TARGETS += demos-jdk test-image-demos-jdk 317 318 ################################################################################ 319 # Jigsaw specific data and analysis targets. 320 321 generate-summary: |