hotspot/make/Makefile

Print this page




  68   ifndef ALT_OUTPUTDIR
  69     ALT_OUTPUTDIR := $(shell pwd)
  70   endif
  71   include $(GAMMADIR)/make/defs.make
  72 else
  73   include defs.make
  74 endif
  75 
  76 
  77 ifneq ($(ALT_OUTPUTDIR),)
  78   ALT_OUT=ALT_OUTPUTDIR=$(ALT_OUTPUTDIR)
  79 else
  80   ALT_OUT=
  81 endif
  82 
  83 # Typical C1/C2 targets made available with this Makefile
  84 C1_VM_TARGETS=product1 fastdebug1 optimized1 jvmg1
  85 C2_VM_TARGETS=product  fastdebug  optimized  jvmg
  86 KERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel
  87 ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero

  88 
  89 # JDK directory list
  90 JDK_DIRS=bin include jre lib demo
  91 
  92 all:           all_product all_fastdebug
  93 all_product:   product product1 productkernel docs export_product
  94 all_fastdebug: fastdebug fastdebug1 fastdebugkernel docs export_fastdebug
  95 all_debug:     jvmg jvmg1 jvmgkernel docs export_debug
  96 all_optimized: optimized optimized1 optimizedkernel docs export_optimized
  97 
  98 allzero:           all_productzero all_fastdebugzero
  99 all_productzero:   productzero docs export_product
 100 all_fastdebugzero: fastdebugzero docs export_fastdebug
 101 all_debugzero:     jvmgzero docs export_debug
 102 all_optimizedzero: optimizedzero docs export_optimized
 103 






 104 # Do everything
 105 world:         all create_jdk
 106 
 107 # Build or export docs
 108 docs:
 109 ifeq ($(OSNAME),windows)
 110         @$(ECHO) "No docs ($(VM_TARGET)) for windows"
 111 else
 112         $(CD) $(OUTPUTDIR); \
 113             $(MAKE) -f $(ABS_OS_MAKEFILE) \
 114                       $(MAKE_ARGS) docs
 115 endif
 116 
 117 # Build variation of hotspot
 118 $(C1_VM_TARGETS):
 119         $(CD) $(GAMMADIR)/make; \
 120         $(MAKE) VM_TARGET=$@ generic_build1 $(ALT_OUT)
 121 
 122 $(C2_VM_TARGETS):
 123         $(CD) $(GAMMADIR)/make; \
 124         $(MAKE) VM_TARGET=$@ generic_build2 $(ALT_OUT)
 125 
 126 $(KERNEL_VM_TARGETS):
 127         $(CD) $(GAMMADIR)/make; \
 128         $(MAKE) VM_TARGET=$@ generic_buildkernel $(ALT_OUT)
 129 
 130 $(ZERO_VM_TARGETS):
 131         $(CD) $(GAMMADIR)/make; \
 132         $(MAKE) VM_TARGET=$@ generic_buildzero $(ALT_OUT)
 133 




 134 # Build compiler1 (client) rule, different for platforms
 135 generic_build1:
 136         $(MKDIR) -p $(OUTPUTDIR)
 137 ifeq ($(OSNAME),windows)
 138   ifeq ($(ARCH_DATA_MODEL), 32)
 139         $(CD) $(OUTPUTDIR); \
 140             $(NMAKE) -f $(ABS_OS_MAKEFILE) \
 141                       Variant=compiler1 \
 142                       WorkSpace=$(ABS_GAMMADIR) \
 143                       BootStrapDir=$(ABS_BOOTDIR) \
 144                       BuildUser=$(USERNAME) \
 145                       $(MAKE_ARGS) $(VM_TARGET:%1=%)
 146   else
 147         @$(ECHO) "No compiler1 ($(VM_TARGET)) for ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)"
 148   endif
 149 else
 150   ifeq ($(ARCH_DATA_MODEL), 32)
 151         $(CD) $(OUTPUTDIR); \
 152             $(MAKE) -f $(ABS_OS_MAKEFILE) \
 153                       $(MAKE_ARGS) $(VM_TARGET)


 180         $(CD) $(OUTPUTDIR); \
 181             $(NMAKE) -f $(ABS_OS_MAKEFILE) \
 182                       Variant=kernel \
 183                       WorkSpace=$(ABS_GAMMADIR) \
 184                       BootStrapDir=$(ABS_BOOTDIR) \
 185                       BuildUser=$(USERNAME) \
 186                       $(MAKE_ARGS) $(VM_TARGET:%kernel=%)
 187   else
 188         @$(ECHO) "No kernel ($(VM_TARGET)) for ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)"
 189   endif
 190 else
 191         @$(ECHO) "No kernel ($(VM_TARGET)) for OS_NAME=$(OSNAME)"
 192 endif
 193 
 194 generic_buildzero:
 195         $(MKDIR) -p $(OUTPUTDIR)
 196         $(CD) $(OUTPUTDIR); \
 197                 $(MAKE) -f $(ABS_OS_MAKEFILE) \
 198                         $(MAKE_ARGS) $(VM_TARGET)
 199 






 200 # Export file rule
 201 generic_export: $(EXPORT_LIST)
 202 export_product:
 203         $(MAKE) VM_SUBDIR=product                            generic_export
 204 export_fastdebug:
 205         $(MAKE) VM_SUBDIR=fastdebug EXPORT_SUBDIR=/fastdebug generic_export
 206 export_debug:
 207         $(MAKE) VM_SUBDIR=${VM_DEBUG} EXPORT_SUBDIR=/debug   generic_export
 208 export_optimized:
 209         $(MAKE) VM_SUBDIR=optimized EXPORT_SUBDIR=/optimized generic_export
 210 export_product_jdk:
 211         $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \
 212                 VM_SUBDIR=product                            generic_export
 213 export_optimized_jdk:
 214         $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \
 215                 VM_SUBDIR=optimized                          generic_export
 216 export_fastdebug_jdk:
 217         $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/fastdebug \
 218                 VM_SUBDIR=fastdebug                          generic_export
 219 export_debug_jdk:
 220         $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/debug \
 221                 VM_SUBDIR=${VM_DEBUG}                        generic_export
 222 
 223 
 224 # Export file copy rules
 225 XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt
 226 DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs
 227 C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1
 228 C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2
 229 KERNEL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_kernel
 230 ZERO_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_zero

 231 C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR)
 232 C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR)
 233 KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR)
 234 ZERO_DIR=$(ZERO_BASE_DIR)/$(VM_SUBDIR)

 235 
 236 # Misc files and generated files need to come from C1 or C2 area
 237 ifeq ($(ZERO_BUILD), true)




 238   MISC_DIR=$(ZERO_DIR)
 239   GEN_DIR=$(ZERO_BASE_DIR)/generated

 240 else
 241 ifeq ($(ARCH_DATA_MODEL), 32)
 242   MISC_DIR=$(C1_DIR)
 243   GEN_DIR=$(C1_BASE_DIR)/generated
 244 else
 245   MISC_DIR=$(C2_DIR)
 246   GEN_DIR=$(C2_BASE_DIR)/generated
 247 endif
 248 endif
 249 
 250 # Bin files (windows)
 251 ifeq ($(OSNAME),windows)
 252 
 253 # Get jvm.lib 
 254 $(EXPORT_LIB_DIR)/%.lib:  $(MISC_DIR)/%.lib
 255         $(install-file)
 256 
 257 # Other libraries (like SA)
 258 $(EXPORT_JRE_BIN_DIR)/%.dll: $(MISC_DIR)/%.dll
 259         $(install-file)


 273 # Server files always come from C2 area
 274 $(EXPORT_SERVER_DIR)/%.dll:  $(C2_DIR)/%.dll
 275         $(install-file)
 276 $(EXPORT_SERVER_DIR)/%.pdb:  $(C2_DIR)/%.pdb
 277         $(install-file)
 278 $(EXPORT_SERVER_DIR)/%.map:  $(C2_DIR)/%.map
 279         $(install-file)
 280 
 281 # Kernel files always come from kernel area
 282 $(EXPORT_KERNEL_DIR)/%.dll:  $(KERNEL_DIR)/%.dll
 283         $(install-file)
 284 $(EXPORT_KERNEL_DIR)/%.pdb:  $(KERNEL_DIR)/%.pdb
 285         $(install-file)
 286 $(EXPORT_KERNEL_DIR)/%.map:  $(KERNEL_DIR)/%.map
 287         $(install-file)
 288 endif
 289 
 290 # Shared Library
 291 ifneq ($(OSNAME),windows)
 292   ifeq ($(ZERO_BUILD), true)






 293 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(ZERO_DIR)/%.so
 294         $(install-file)
 295 $(EXPORT_SERVER_DIR)/%.so:       $(ZERO_DIR)/%.so
 296         $(install-file)

 297   else
 298 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(C2_DIR)/%.so
 299         $(install-file)
 300 $(EXPORT_CLIENT_DIR)/%.so:       $(C1_DIR)/%.so
 301         $(install-file)
 302 $(EXPORT_CLIENT_DIR)/64/%.so:    $(C1_DIR)/%.so
 303         $(install-file)
 304 $(EXPORT_SERVER_DIR)/%.so:       $(C2_DIR)/%.so
 305         $(install-file)
 306 $(EXPORT_SERVER_DIR)/64/%.so:    $(C2_DIR)/%.so
 307         $(install-file)
 308   endif
 309 endif
 310 
 311 # Jar file (sa-jdi.jar)
 312 $(EXPORT_LIB_DIR)/%.jar: $(GEN_DIR)/%.jar
 313         $(install-file)
 314 
 315 # Include files (jvmti.h, jvmticmlr.h, jni.h, $(JDK_INCLUDE_SUBDIR)/jni_md.h, jmm.h)
 316 $(EXPORT_INCLUDE_DIR)/%: $(GEN_DIR)/jvmtifiles/%


 331 # Doc files (jvmti.html)
 332 $(EXPORT_DOCS_DIR)/platform/jvmti/%: $(DOCS_DIR)/%
 333         $(install-file)
 334 
 335 # Xusage file
 336 $(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt $(EXPORT_KERNEL_DIR)/Xusage.txt: $(XUSAGE)
 337         $(prep-target)
 338         $(RM) $@.temp
 339         $(SED) 's/\(separated by \)[;:]/\1$(PATH_SEP)/g' $< > $@.temp
 340         $(MV) $@.temp $@
 341 
 342 #
 343 # Clean rules
 344 #
 345 clobber clean: clean_build clean_export clean_jdk
 346 clean_build:
 347         $(RM) -r $(C1_DIR)
 348         $(RM) -r $(C2_DIR)
 349         $(RM) -r $(KERNEL_DIR)
 350         $(RM) -r $(ZERO_DIR)

 351 clean_export:
 352         $(RM) -r $(EXPORT_PATH)
 353 clean_jdk:
 354         $(RM) -r $(JDK_IMAGE_DIR)
 355 
 356 #
 357 # Create JDK and place this build into it
 358 #
 359 create_jdk: copy_jdk update_jdk
 360 
 361 update_jdk: export_product_jdk export_fastdebug_jdk test_jdk
 362 
 363 copy_jdk: $(JDK_IMAGE_DIR)/jre/lib/rt.jar
 364 
 365 $(JDK_IMAGE_DIR)/jre/lib/rt.jar:
 366         $(RM) -r $(JDK_IMAGE_DIR)
 367         $(MKDIR) -p $(JDK_IMAGE_DIR)
 368         ($(CD) $(JDK_IMPORT_PATH) && \
 369          $(TAR) -cf - *) | \
 370          ($(CD) $(JDK_IMAGE_DIR) && $(TAR) -xf -)




  68   ifndef ALT_OUTPUTDIR
  69     ALT_OUTPUTDIR := $(shell pwd)
  70   endif
  71   include $(GAMMADIR)/make/defs.make
  72 else
  73   include defs.make
  74 endif
  75 
  76 
  77 ifneq ($(ALT_OUTPUTDIR),)
  78   ALT_OUT=ALT_OUTPUTDIR=$(ALT_OUTPUTDIR)
  79 else
  80   ALT_OUT=
  81 endif
  82 
  83 # Typical C1/C2 targets made available with this Makefile
  84 C1_VM_TARGETS=product1 fastdebug1 optimized1 jvmg1
  85 C2_VM_TARGETS=product  fastdebug  optimized  jvmg
  86 KERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel
  87 ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero
  88 SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark
  89 
  90 # JDK directory list
  91 JDK_DIRS=bin include jre lib demo
  92 
  93 all:           all_product all_fastdebug
  94 all_product:   product product1 productkernel docs export_product
  95 all_fastdebug: fastdebug fastdebug1 fastdebugkernel docs export_fastdebug
  96 all_debug:     jvmg jvmg1 jvmgkernel docs export_debug
  97 all_optimized: optimized optimized1 optimizedkernel docs export_optimized
  98 
  99 allzero:           all_productzero all_fastdebugzero
 100 all_productzero:   productzero docs export_product
 101 all_fastdebugzero: fastdebugzero docs export_fastdebug
 102 all_debugzero:     jvmgzero docs export_debug
 103 all_optimizedzero: optimizedzero docs export_optimized
 104 
 105 allshark:           all_productshark all_fastdebugshark
 106 all_productshark:   productshark docs export_product
 107 all_fastdebugshark: fastdebugshark docs export_fastdebug
 108 all_debugshark:     jvmgshark docs export_debug
 109 all_optimizedshark: optimizedshark docs export_optimized
 110 
 111 # Do everything
 112 world:         all create_jdk
 113 
 114 # Build or export docs
 115 docs:
 116 ifeq ($(OSNAME),windows)
 117         @$(ECHO) "No docs ($(VM_TARGET)) for windows"
 118 else
 119         $(CD) $(OUTPUTDIR); \
 120             $(MAKE) -f $(ABS_OS_MAKEFILE) \
 121                       $(MAKE_ARGS) docs
 122 endif
 123 
 124 # Build variation of hotspot
 125 $(C1_VM_TARGETS):
 126         $(CD) $(GAMMADIR)/make; \
 127         $(MAKE) VM_TARGET=$@ generic_build1 $(ALT_OUT)
 128 
 129 $(C2_VM_TARGETS):
 130         $(CD) $(GAMMADIR)/make; \
 131         $(MAKE) VM_TARGET=$@ generic_build2 $(ALT_OUT)
 132 
 133 $(KERNEL_VM_TARGETS):
 134         $(CD) $(GAMMADIR)/make; \
 135         $(MAKE) VM_TARGET=$@ generic_buildkernel $(ALT_OUT)
 136 
 137 $(ZERO_VM_TARGETS):
 138         $(CD) $(GAMMADIR)/make; \
 139         $(MAKE) VM_TARGET=$@ generic_buildzero $(ALT_OUT)
 140 
 141 $(SHARK_VM_TARGETS):
 142         $(CD) $(GAMMADIR)/make; \
 143         $(MAKE) VM_TARGET=$@ generic_buildshark $(ALT_OUT)
 144 
 145 # Build compiler1 (client) rule, different for platforms
 146 generic_build1:
 147         $(MKDIR) -p $(OUTPUTDIR)
 148 ifeq ($(OSNAME),windows)
 149   ifeq ($(ARCH_DATA_MODEL), 32)
 150         $(CD) $(OUTPUTDIR); \
 151             $(NMAKE) -f $(ABS_OS_MAKEFILE) \
 152                       Variant=compiler1 \
 153                       WorkSpace=$(ABS_GAMMADIR) \
 154                       BootStrapDir=$(ABS_BOOTDIR) \
 155                       BuildUser=$(USERNAME) \
 156                       $(MAKE_ARGS) $(VM_TARGET:%1=%)
 157   else
 158         @$(ECHO) "No compiler1 ($(VM_TARGET)) for ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)"
 159   endif
 160 else
 161   ifeq ($(ARCH_DATA_MODEL), 32)
 162         $(CD) $(OUTPUTDIR); \
 163             $(MAKE) -f $(ABS_OS_MAKEFILE) \
 164                       $(MAKE_ARGS) $(VM_TARGET)


 191         $(CD) $(OUTPUTDIR); \
 192             $(NMAKE) -f $(ABS_OS_MAKEFILE) \
 193                       Variant=kernel \
 194                       WorkSpace=$(ABS_GAMMADIR) \
 195                       BootStrapDir=$(ABS_BOOTDIR) \
 196                       BuildUser=$(USERNAME) \
 197                       $(MAKE_ARGS) $(VM_TARGET:%kernel=%)
 198   else
 199         @$(ECHO) "No kernel ($(VM_TARGET)) for ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)"
 200   endif
 201 else
 202         @$(ECHO) "No kernel ($(VM_TARGET)) for OS_NAME=$(OSNAME)"
 203 endif
 204 
 205 generic_buildzero:
 206         $(MKDIR) -p $(OUTPUTDIR)
 207         $(CD) $(OUTPUTDIR); \
 208                 $(MAKE) -f $(ABS_OS_MAKEFILE) \
 209                         $(MAKE_ARGS) $(VM_TARGET)
 210 
 211 generic_buildshark:
 212         $(MKDIR) -p $(OUTPUTDIR)
 213         $(CD) $(OUTPUTDIR); \
 214                 $(MAKE) -f $(ABS_OS_MAKEFILE) \
 215                         $(MAKE_ARGS) $(VM_TARGET) 
 216 
 217 # Export file rule
 218 generic_export: $(EXPORT_LIST)
 219 export_product:
 220         $(MAKE) VM_SUBDIR=product                            generic_export
 221 export_fastdebug:
 222         $(MAKE) VM_SUBDIR=fastdebug EXPORT_SUBDIR=/fastdebug generic_export
 223 export_debug:
 224         $(MAKE) VM_SUBDIR=${VM_DEBUG} EXPORT_SUBDIR=/debug   generic_export
 225 export_optimized:
 226         $(MAKE) VM_SUBDIR=optimized EXPORT_SUBDIR=/optimized generic_export
 227 export_product_jdk:
 228         $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \
 229                 VM_SUBDIR=product                            generic_export
 230 export_optimized_jdk:
 231         $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \
 232                 VM_SUBDIR=optimized                          generic_export
 233 export_fastdebug_jdk:
 234         $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/fastdebug \
 235                 VM_SUBDIR=fastdebug                          generic_export
 236 export_debug_jdk:
 237         $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/debug \
 238                 VM_SUBDIR=${VM_DEBUG}                        generic_export
 239 
 240 
 241 # Export file copy rules
 242 XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt
 243 DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs
 244 C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1
 245 C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2
 246 KERNEL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_kernel
 247 ZERO_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_zero
 248 SHARK_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_shark
 249 C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR)
 250 C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR)
 251 KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR)
 252 ZERO_DIR=$(ZERO_BASE_DIR)/$(VM_SUBDIR)
 253 SHARK_DIR=$(SHARK_BASE_DIR)/$(VM_SUBDIR)
 254 
 255 # Misc files and generated files need to come from C1 or C2 area
 256 ifeq ($(ZERO_BUILD), true)
 257 ifeq ($(SHARK_BUILD), true)
 258   MISC_DIR=$(SHARK_DIR)
 259   GEN_DIR=$(SHARK_BASE_DIR)/generated
 260 else
 261   MISC_DIR=$(ZERO_DIR)
 262   GEN_DIR=$(ZERO_BASE_DIR)/generated
 263 endif
 264 else
 265 ifeq ($(ARCH_DATA_MODEL), 32)
 266   MISC_DIR=$(C1_DIR)
 267   GEN_DIR=$(C1_BASE_DIR)/generated
 268 else
 269   MISC_DIR=$(C2_DIR)
 270   GEN_DIR=$(C2_BASE_DIR)/generated
 271 endif
 272 endif
 273 
 274 # Bin files (windows)
 275 ifeq ($(OSNAME),windows)
 276 
 277 # Get jvm.lib 
 278 $(EXPORT_LIB_DIR)/%.lib:  $(MISC_DIR)/%.lib
 279         $(install-file)
 280 
 281 # Other libraries (like SA)
 282 $(EXPORT_JRE_BIN_DIR)/%.dll: $(MISC_DIR)/%.dll
 283         $(install-file)


 297 # Server files always come from C2 area
 298 $(EXPORT_SERVER_DIR)/%.dll:  $(C2_DIR)/%.dll
 299         $(install-file)
 300 $(EXPORT_SERVER_DIR)/%.pdb:  $(C2_DIR)/%.pdb
 301         $(install-file)
 302 $(EXPORT_SERVER_DIR)/%.map:  $(C2_DIR)/%.map
 303         $(install-file)
 304 
 305 # Kernel files always come from kernel area
 306 $(EXPORT_KERNEL_DIR)/%.dll:  $(KERNEL_DIR)/%.dll
 307         $(install-file)
 308 $(EXPORT_KERNEL_DIR)/%.pdb:  $(KERNEL_DIR)/%.pdb
 309         $(install-file)
 310 $(EXPORT_KERNEL_DIR)/%.map:  $(KERNEL_DIR)/%.map
 311         $(install-file)
 312 endif
 313 
 314 # Shared Library
 315 ifneq ($(OSNAME),windows)
 316   ifeq ($(ZERO_BUILD), true)
 317     ifeq ($(SHARK_BUILD), true)
 318 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(SHARK_DIR)/%.so
 319         $(install-file)
 320 $(EXPORT_SERVER_DIR)/%.so:       $(SHARK_DIR)/%.so
 321         $(install-file)
 322     else
 323 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(ZERO_DIR)/%.so
 324         $(install-file)
 325 $(EXPORT_SERVER_DIR)/%.so:       $(ZERO_DIR)/%.so
 326         $(install-file)
 327     endif
 328   else
 329 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(C2_DIR)/%.so
 330         $(install-file)
 331 $(EXPORT_CLIENT_DIR)/%.so:       $(C1_DIR)/%.so
 332         $(install-file)
 333 $(EXPORT_CLIENT_DIR)/64/%.so:    $(C1_DIR)/%.so
 334         $(install-file)
 335 $(EXPORT_SERVER_DIR)/%.so:       $(C2_DIR)/%.so
 336         $(install-file)
 337 $(EXPORT_SERVER_DIR)/64/%.so:    $(C2_DIR)/%.so
 338         $(install-file)
 339   endif
 340 endif
 341 
 342 # Jar file (sa-jdi.jar)
 343 $(EXPORT_LIB_DIR)/%.jar: $(GEN_DIR)/%.jar
 344         $(install-file)
 345 
 346 # Include files (jvmti.h, jvmticmlr.h, jni.h, $(JDK_INCLUDE_SUBDIR)/jni_md.h, jmm.h)
 347 $(EXPORT_INCLUDE_DIR)/%: $(GEN_DIR)/jvmtifiles/%


 362 # Doc files (jvmti.html)
 363 $(EXPORT_DOCS_DIR)/platform/jvmti/%: $(DOCS_DIR)/%
 364         $(install-file)
 365 
 366 # Xusage file
 367 $(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt $(EXPORT_KERNEL_DIR)/Xusage.txt: $(XUSAGE)
 368         $(prep-target)
 369         $(RM) $@.temp
 370         $(SED) 's/\(separated by \)[;:]/\1$(PATH_SEP)/g' $< > $@.temp
 371         $(MV) $@.temp $@
 372 
 373 #
 374 # Clean rules
 375 #
 376 clobber clean: clean_build clean_export clean_jdk
 377 clean_build:
 378         $(RM) -r $(C1_DIR)
 379         $(RM) -r $(C2_DIR)
 380         $(RM) -r $(KERNEL_DIR)
 381         $(RM) -r $(ZERO_DIR)
 382         $(RM) -r $(SHARK_DIR)
 383 clean_export:
 384         $(RM) -r $(EXPORT_PATH)
 385 clean_jdk:
 386         $(RM) -r $(JDK_IMAGE_DIR)
 387 
 388 #
 389 # Create JDK and place this build into it
 390 #
 391 create_jdk: copy_jdk update_jdk
 392 
 393 update_jdk: export_product_jdk export_fastdebug_jdk test_jdk
 394 
 395 copy_jdk: $(JDK_IMAGE_DIR)/jre/lib/rt.jar
 396 
 397 $(JDK_IMAGE_DIR)/jre/lib/rt.jar:
 398         $(RM) -r $(JDK_IMAGE_DIR)
 399         $(MKDIR) -p $(JDK_IMAGE_DIR)
 400         ($(CD) $(JDK_IMPORT_PATH) && \
 401          $(TAR) -cf - *) | \
 402          ($(CD) $(JDK_IMAGE_DIR) && $(TAR) -xf -)