8168037: Use ZIPEXE instead of ZIP to avoid clash with options for zip

Reviewed-by: erikj
This commit is contained in:
Magnus Ihse Bursie 2016-11-22 14:47:52 +01:00
parent 25a65593b7
commit 3da21ba32e
9 changed files with 67 additions and 64 deletions

View File

@ -1048,7 +1048,9 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
# These tools might not be installed by default, # These tools might not be installed by default,
# need hint on how to install them. # need hint on how to install them.
BASIC_REQUIRE_PROGS(UNZIP, unzip) BASIC_REQUIRE_PROGS(UNZIP, unzip)
BASIC_REQUIRE_PROGS(ZIP, zip) # Since zip uses "ZIP" as a environment variable for passing options, we need
# to name our variable differently, hence ZIPEXE.
BASIC_REQUIRE_PROGS(ZIPEXE, zip)
# Non-required basic tools # Non-required basic tools

View File

@ -945,7 +945,7 @@ HG
READELF READELF
OTOOL OTOOL
LDD LDD
ZIP ZIPEXE
UNZIP UNZIP
TAR_SUPPORTS_TRANSFORM TAR_SUPPORTS_TRANSFORM
TAR_INCLUDE_PARAM TAR_INCLUDE_PARAM
@ -1292,7 +1292,7 @@ CPIO
NICE NICE
MAKE MAKE
UNZIP UNZIP
ZIP ZIPEXE
LDD LDD
OTOOL OTOOL
READELF READELF
@ -2236,7 +2236,7 @@ Some influential environment variables:
NICE Override default value for NICE NICE Override default value for NICE
MAKE Override default value for MAKE MAKE Override default value for MAKE
UNZIP Override default value for UNZIP UNZIP Override default value for UNZIP
ZIP Override default value for ZIP ZIPEXE Override default value for ZIPEXE
LDD Override default value for LDD LDD Override default value for LDD
OTOOL Override default value for OTOOL OTOOL Override default value for OTOOL
READELF Override default value for READELF READELF Override default value for READELF
@ -5093,7 +5093,7 @@ VS_SDK_PLATFORM_NAME_2013=
#CUSTOM_AUTOCONF_INCLUDE #CUSTOM_AUTOCONF_INCLUDE
# Do not change or remove the following line, it is needed for consistency checks: # Do not change or remove the following line, it is needed for consistency checks:
DATE_WHEN_GENERATED=1479120453 DATE_WHEN_GENERATED=1479822431
############################################################################### ###############################################################################
# #
@ -21373,13 +21373,15 @@ $as_echo "$tool_specified" >&6; }
fi fi
# Since zip uses "ZIP" as a environment variable for passing options, we need
# to name our variable differently, hence ZIPEXE.
# Publish this variable in the help. # Publish this variable in the help.
if [ -z "${ZIP+x}" ]; then if [ -z "${ZIPEXE+x}" ]; then
# The variable is not set by user, try to locate tool using the code snippet # The variable is not set by user, try to locate tool using the code snippet
for ac_prog in zip for ac_prog in zip
do do
@ -21387,12 +21389,12 @@ do
set dummy $ac_prog; ac_word=$2 set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; } $as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_ZIP+:} false; then : if ${ac_cv_path_ZIPEXE+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
else else
case $ZIP in case $ZIPEXE in
[\\/]* | ?:[\\/]*) [\\/]* | ?:[\\/]*)
ac_cv_path_ZIP="$ZIP" # Let the user override the test with a path. ac_cv_path_ZIPEXE="$ZIPEXE" # Let the user override the test with a path.
;; ;;
*) *)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@ -21402,7 +21404,7 @@ do
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_ZIP="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_ZIPEXE="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
fi fi
@ -21413,30 +21415,30 @@ IFS=$as_save_IFS
;; ;;
esac esac
fi fi
ZIP=$ac_cv_path_ZIP ZIPEXE=$ac_cv_path_ZIPEXE
if test -n "$ZIP"; then if test -n "$ZIPEXE"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZIP" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZIPEXE" >&5
$as_echo "$ZIP" >&6; } $as_echo "$ZIPEXE" >&6; }
else else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; } $as_echo "no" >&6; }
fi fi
test -n "$ZIP" && break test -n "$ZIPEXE" && break
done done
else else
# The variable is set, but is it from the command line or the environment? # The variable is set, but is it from the command line or the environment?
# Try to remove the string !ZIP! from our list. # Try to remove the string !ZIPEXE! from our list.
try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!ZIP!/} try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!ZIPEXE!/}
if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
# If it failed, the variable was not from the command line. Ignore it, # If it failed, the variable was not from the command line. Ignore it,
# but warn the user (except for BASH, which is always set by the calling BASH). # but warn the user (except for BASH, which is always set by the calling BASH).
if test "xZIP" != xBASH; then if test "xZIPEXE" != xBASH; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of ZIP from the environment. Use command line variables instead." >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of ZIPEXE from the environment. Use command line variables instead." >&5
$as_echo "$as_me: WARNING: Ignoring value of ZIP from the environment. Use command line variables instead." >&2;} $as_echo "$as_me: WARNING: Ignoring value of ZIPEXE from the environment. Use command line variables instead." >&2;}
fi fi
# Try to locate tool using the code snippet # Try to locate tool using the code snippet
for ac_prog in zip for ac_prog in zip
@ -21445,12 +21447,12 @@ do
set dummy $ac_prog; ac_word=$2 set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; } $as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_ZIP+:} false; then : if ${ac_cv_path_ZIPEXE+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
else else
case $ZIP in case $ZIPEXE in
[\\/]* | ?:[\\/]*) [\\/]* | ?:[\\/]*)
ac_cv_path_ZIP="$ZIP" # Let the user override the test with a path. ac_cv_path_ZIPEXE="$ZIPEXE" # Let the user override the test with a path.
;; ;;
*) *)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@ -21460,7 +21462,7 @@ do
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_ZIP="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_ZIPEXE="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
fi fi
@ -21471,17 +21473,17 @@ IFS=$as_save_IFS
;; ;;
esac esac
fi fi
ZIP=$ac_cv_path_ZIP ZIPEXE=$ac_cv_path_ZIPEXE
if test -n "$ZIP"; then if test -n "$ZIPEXE"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZIP" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZIPEXE" >&5
$as_echo "$ZIP" >&6; } $as_echo "$ZIPEXE" >&6; }
else else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; } $as_echo "no" >&6; }
fi fi
test -n "$ZIP" && break test -n "$ZIPEXE" && break
done done
else else
@ -21493,31 +21495,31 @@ done
CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var" CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
# Check if we try to supply an empty value # Check if we try to supply an empty value
if test "x$ZIP" = x; then if test "x$ZIPEXE" = x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Setting user supplied tool ZIP= (no value)" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Setting user supplied tool ZIPEXE= (no value)" >&5
$as_echo "$as_me: Setting user supplied tool ZIP= (no value)" >&6;} $as_echo "$as_me: Setting user supplied tool ZIPEXE= (no value)" >&6;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZIP" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZIPEXE" >&5
$as_echo_n "checking for ZIP... " >&6; } $as_echo_n "checking for ZIPEXE... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
$as_echo "disabled" >&6; } $as_echo "disabled" >&6; }
else else
# Check if the provided tool contains a complete path. # Check if the provided tool contains a complete path.
tool_specified="$ZIP" tool_specified="$ZIPEXE"
tool_basename="${tool_specified##*/}" tool_basename="${tool_specified##*/}"
if test "x$tool_basename" = "x$tool_specified"; then if test "x$tool_basename" = "x$tool_specified"; then
# A command without a complete path is provided, search $PATH. # A command without a complete path is provided, search $PATH.
{ $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool ZIP=$tool_basename" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool ZIPEXE=$tool_basename" >&5
$as_echo "$as_me: Will search for user supplied tool ZIP=$tool_basename" >&6;} $as_echo "$as_me: Will search for user supplied tool ZIPEXE=$tool_basename" >&6;}
# Extract the first word of "$tool_basename", so it can be a program name with args. # Extract the first word of "$tool_basename", so it can be a program name with args.
set dummy $tool_basename; ac_word=$2 set dummy $tool_basename; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; } $as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_ZIP+:} false; then : if ${ac_cv_path_ZIPEXE+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
else else
case $ZIP in case $ZIPEXE in
[\\/]* | ?:[\\/]*) [\\/]* | ?:[\\/]*)
ac_cv_path_ZIP="$ZIP" # Let the user override the test with a path. ac_cv_path_ZIPEXE="$ZIPEXE" # Let the user override the test with a path.
;; ;;
*) *)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@ -21527,7 +21529,7 @@ do
test -z "$as_dir" && as_dir=. test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_ZIP="$as_dir/$ac_word$ac_exec_ext" ac_cv_path_ZIPEXE="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2 break 2
fi fi
@ -21538,29 +21540,29 @@ IFS=$as_save_IFS
;; ;;
esac esac
fi fi
ZIP=$ac_cv_path_ZIP ZIPEXE=$ac_cv_path_ZIPEXE
if test -n "$ZIP"; then if test -n "$ZIPEXE"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZIP" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZIPEXE" >&5
$as_echo "$ZIP" >&6; } $as_echo "$ZIPEXE" >&6; }
else else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; } $as_echo "no" >&6; }
fi fi
if test "x$ZIP" = x; then if test "x$ZIPEXE" = x; then
as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5 as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
fi fi
else else
# Otherwise we believe it is a complete path. Use it as it is. # Otherwise we believe it is a complete path. Use it as it is.
{ $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool ZIP=$tool_specified" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool ZIPEXE=$tool_specified" >&5
$as_echo "$as_me: Will use user supplied tool ZIP=$tool_specified" >&6;} $as_echo "$as_me: Will use user supplied tool ZIPEXE=$tool_specified" >&6;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZIP" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZIPEXE" >&5
$as_echo_n "checking for ZIP... " >&6; } $as_echo_n "checking for ZIPEXE... " >&6; }
if test ! -x "$tool_specified"; then if test ! -x "$tool_specified"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
$as_echo "not found" >&6; } $as_echo "not found" >&6; }
as_fn_error $? "User supplied tool ZIP=$tool_specified does not exist or is not executable" "$LINENO" 5 as_fn_error $? "User supplied tool ZIPEXE=$tool_specified does not exist or is not executable" "$LINENO" 5
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
$as_echo "$tool_specified" >&6; } $as_echo "$tool_specified" >&6; }
@ -21572,8 +21574,8 @@ $as_echo "$tool_specified" >&6; }
if test "x$ZIP" = x; then if test "x$ZIPEXE" = x; then
as_fn_error $? "Could not find required tool for ZIP" "$LINENO" 5 as_fn_error $? "Could not find required tool for ZIPEXE" "$LINENO" 5
fi fi

View File

@ -657,8 +657,7 @@ TOUCH:=@TOUCH@
UNIQ:=@UNIQ@ UNIQ:=@UNIQ@
WC:=@WC@ WC:=@WC@
XARGS:=@XARGS@ XARGS:=@XARGS@
ZIPEXE:=@ZIP@ ZIPEXE:=@ZIPEXE@
ZIP:=@ZIP@
UNZIP:=@UNZIP@ UNZIP:=@UNZIP@
MT:=@FIXPATH@ @MT@ MT:=@FIXPATH@ @MT@
RC:=@FIXPATH@ @RC@ RC:=@FIXPATH@ @RC@

View File

@ -101,7 +101,7 @@ define SetupBundleFileBody
( $(TAR) cf - $(TAR_CREATE_EXTRA_PARAM) $$($1_SUBDIR) $(TAR_IGNORE_EXIT_VALUE) ) \ ( $(TAR) cf - $(TAR_CREATE_EXTRA_PARAM) $$($1_SUBDIR) $(TAR_IGNORE_EXIT_VALUE) ) \
| $(GZIP) > $$@ | $(GZIP) > $$@
else ifeq ($$($1_TYPE), zip) else ifeq ($$($1_TYPE), zip)
$(CD) $(SUPPORT_OUTPUTDIR)/bundles/$1 && $(ZIP) -qr $$@ . $(CD) $(SUPPORT_OUTPUTDIR)/bundles/$1 && $(ZIPEXE) -qr $$@ .
endif endif
endif endif
else else
@ -113,7 +113,7 @@ define SetupBundleFileBody
| $(GZIP) > $$@ | $(GZIP) > $$@
else ifeq ($$($1_TYPE), zip) else ifeq ($$($1_TYPE), zip)
$(CD) $$($1_BASE_DIR) \ $(CD) $$($1_BASE_DIR) \
&& $(ZIP) -qr $$@ . -i@$(SUPPORT_OUTPUTDIR)/bundles/_$1_files && $(ZIPEXE) -qr $$@ . -i@$(SUPPORT_OUTPUTDIR)/bundles/_$1_files
endif endif
endif endif

View File

@ -724,7 +724,7 @@ $(JAVADOC_ARCHIVE): $(TARGETS) $(COPY_TARGETS)
name=`$(ECHO) $${target_dir} | $(SED) "s;/spec;;" | $(SED) "s;.*/;;"`; \ name=`$(ECHO) $${target_dir} | $(SED) "s;/spec;;" | $(SED) "s;.*/;;"`; \
$(LN) -s $${target_dir} $${name}; \ $(LN) -s $${target_dir} $${name}; \
done; \ done; \
$(ZIP) -q -r $(JAVADOC_ARCHIVE) * ; \ $(ZIPEXE) -q -r $(JAVADOC_ARCHIVE) * ; \
popd ; popd ;
ZIP_TARGETS += $(JAVADOC_ARCHIVE) ZIP_TARGETS += $(JAVADOC_ARCHIVE)

View File

@ -71,11 +71,11 @@ ifeq ($(JPRT_TARGET), $(DEFAULT_MAKE_TARGET))
# This target must be called in the context of a SPEC file # This target must be called in the context of a SPEC file
$(JPRT_ARCHIVE_BUNDLE): product-images $(JPRT_ARCHIVE_BUNDLE): product-images
$(call MakeDir, $(@D)) $(call MakeDir, $(@D))
$(CD) $(SRC_JDK_IMAGE_DIR) && $(ZIP) -y -q -r $@ . $(CD) $(SRC_JDK_IMAGE_DIR) && $(ZIPEXE) -y -q -r $@ .
$(JPRT_ARCHIVE_TEST_BUNDLE): test-image $(JPRT_ARCHIVE_TEST_BUNDLE): test-image
$(call MakeDir, $(@D)) $(call MakeDir, $(@D))
$(CD) $(SRC_TEST_IMAGE_DIR) && $(ZIP) -y -q -r $@ . $(CD) $(SRC_TEST_IMAGE_DIR) && $(ZIPEXE) -y -q -r $@ .
############################################################################## ##############################################################################
# Optional symbols bundle # Optional symbols bundle
@ -85,7 +85,7 @@ ifeq ($(JPRT_TARGET), $(DEFAULT_MAKE_TARGET))
$(JPRT_ARCHIVE_SYMBOLS_BUNDLE): product-images $(JPRT_ARCHIVE_SYMBOLS_BUNDLE): product-images
$(call MakeDir, $(@D)) $(call MakeDir, $(@D))
$(CD) $(SYMBOLS_IMAGE_DIR) && $(ZIP) -y -q -r $@ . $(CD) $(SYMBOLS_IMAGE_DIR) && $(ZIPEXE) -y -q -r $@ .
endif endif

View File

@ -264,7 +264,7 @@ define SetupJarArchiveBody
$(CAT) $$($1_DELETES_FILE) > $$($1_DELETESS_FILE) $$(NEWLINE) \ $(CAT) $$($1_DELETES_FILE) > $$($1_DELETESS_FILE) $$(NEWLINE) \
if [ -s $$($1_DELETESS_FILE) ]; then \ if [ -s $$($1_DELETESS_FILE) ]; then \
$(ECHO) " deleting" `$(WC) -l $$($1_DELETESS_FILE) | $(AWK) '{ print $$$$1 }'` files && \ $(ECHO) " deleting" `$(WC) -l $$($1_DELETESS_FILE) | $(AWK) '{ print $$$$1 }'` files && \
$(ZIP) -q -d $$@ `$(CAT) $$($1_DELETESS_FILE)` ; \ $(ZIPEXE) -q -d $$@ `$(CAT) $$($1_DELETESS_FILE)` ; \
fi $$(NEWLINE) \ fi $$(NEWLINE) \
$$($1_UPDATE_CONTENTS) true $$(NEWLINE) \ $$($1_UPDATE_CONTENTS) true $$(NEWLINE) \
$$($1_JARINDEX) && true ) $$($1_JARINDEX) && true )

View File

@ -875,7 +875,7 @@ define SetupNativeCompilationBody
# to be rebuilt properly. # to be rebuilt properly.
$$($1_DEBUGINFO_ZIP): $$($1_DEBUGINFO_FILES) $$($1_TARGET) $$($1_DEBUGINFO_ZIP): $$($1_DEBUGINFO_FILES) $$($1_TARGET)
$(CD) $$($1_OUTPUT_DIR) && \ $(CD) $$($1_OUTPUT_DIR) && \
$(ZIP) -q -r $$@ $$(subst $$($1_OUTPUT_DIR)/,, $$($1_DEBUGINFO_FILES)) $(ZIPEXE) -q -r $$@ $$(subst $$($1_OUTPUT_DIR)/,, $$($1_DEBUGINFO_FILES))
endif endif
endif # !STATIC_LIBRARY endif # !STATIC_LIBRARY

View File

@ -107,7 +107,7 @@ define SetupZipArchiveBody
$$($1_ZIP) : $$($1_ALL_SRCS) $$($1_EXTRA_DEPS) $$($1_ZIP) : $$($1_ALL_SRCS) $$($1_EXTRA_DEPS)
$(MKDIR) -p $$(@D) $(MKDIR) -p $$(@D)
$(ECHO) Updating $$($1_NAME) $(ECHO) Updating $$($1_NAME)
$$(foreach i,$$($1_SRC),(cd $$i && $(ZIP) -qru $$($1_ZIP_OPTIONS) $$@ . $$($1_ZIP_INCLUDES) \ $$(foreach i,$$($1_SRC),(cd $$i && $(ZIPEXE) -qru $$($1_ZIP_OPTIONS) $$@ . $$($1_ZIP_INCLUDES) \
$$($1_ZIP_EXCLUDES) -x \*_the.\* \ $$($1_ZIP_EXCLUDES) -x \*_the.\* \
$$(addprefix -x$(SPACE), $$(patsubst $$i/%,%, $$($1_EXCLUDE_FILES))) \ $$(addprefix -x$(SPACE), $$(patsubst $$i/%,%, $$($1_EXCLUDE_FILES))) \
|| test "$$$$?" = "12" )$$(NEWLINE)) true || test "$$$$?" = "12" )$$(NEWLINE)) true