256 $(call MakeDir, $(dir $(call EncodeSpace, $@))) |
256 $(call MakeDir, $(dir $(call EncodeSpace, $@))) |
257 |
257 |
258 ################################################################################ |
258 ################################################################################ |
259 # All install-file and related macros automatically call DecodeSpace when needed. |
259 # All install-file and related macros automatically call DecodeSpace when needed. |
260 |
260 |
261 ifeq ($(OPENJDK_TARGET_OS),solaris) |
261 ifeq ($(call isTargetOs, solaris), true) |
262 # On Solaris, if the target is a symlink and exists, cp won't overwrite. |
262 # On Solaris, if the target is a symlink and exists, cp won't overwrite. |
263 # Cp has to operate in recursive mode to allow for -P flag, to preserve soft links. If the |
263 # Cp has to operate in recursive mode to allow for -P flag, to preserve soft links. If the |
264 # name of the target file differs from the source file, rename after copy. |
264 # name of the target file differs from the source file, rename after copy. |
265 # If the source and target parent directories are the same, recursive copy doesn't work |
265 # If the source and target parent directories are the same, recursive copy doesn't work |
266 # so we fall back on regular copy, which isn't preserving symlinks. |
266 # so we fall back on regular copy, which isn't preserving symlinks. |
282 exit 1; \ |
282 exit 1; \ |
283 fi; \ |
283 fi; \ |
284 $(CP) -f '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'; \ |
284 $(CP) -f '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'; \ |
285 fi |
285 fi |
286 endef |
286 endef |
287 else ifeq ($(OPENJDK_TARGET_OS),macosx) |
287 else ifeq ($(call isTargetOs, macosx), true) |
288 # On mac, extended attributes sometimes creep into the source files, which may later |
288 # On mac, extended attributes sometimes creep into the source files, which may later |
289 # cause the creation of ._* files which confuses testing. Clear these with xattr if |
289 # cause the creation of ._* files which confuses testing. Clear these with xattr if |
290 # set. Some files get their write permissions removed after being copied to the |
290 # set. Some files get their write permissions removed after being copied to the |
291 # output dir. When these are copied again to images, xattr would fail. By only clearing |
291 # output dir. When these are copied again to images, xattr would fail. By only clearing |
292 # attributes when they are present, failing on this is avoided. |
292 # attributes when they are present, failing on this is avoided. |
416 # On Windows, converts a path from cygwin/unix style (e.g. /bin/foo) into |
416 # On Windows, converts a path from cygwin/unix style (e.g. /bin/foo) into |
417 # "mixed mode" (e.g. c:/cygwin/bin/foo). On other platforms, return the path |
417 # "mixed mode" (e.g. c:/cygwin/bin/foo). On other platforms, return the path |
418 # unchanged. |
418 # unchanged. |
419 # This is normally not needed since we use the FIXPATH prefix for command lines, |
419 # This is normally not needed since we use the FIXPATH prefix for command lines, |
420 # but might be needed in certain circumstances. |
420 # but might be needed in certain circumstances. |
421 ifeq ($(OPENJDK_TARGET_OS), windows) |
421 ifeq ($(call isTargetOs, windows), true) |
422 FixPath = \ |
422 FixPath = \ |
423 $(shell $(CYGPATH) -m $1) |
423 $(shell $(CYGPATH) -m $1) |
424 else |
424 else |
425 FixPath = \ |
425 FixPath = \ |
426 $1 |
426 $1 |