make/common/ZipArchive.gmk
changeset 53829 56dc0b27536c
parent 52804 28094715ae71
child 54380 e297c7bb6469
equal deleted inserted replaced
53828:9c44ab24b4a4 53829:56dc0b27536c
    60         $$(addprefix $$i/,$$($1_INCLUDES) $$($1_INCLUDE_FILES))))
    60         $$(addprefix $$i/,$$($1_INCLUDES) $$($1_INCLUDE_FILES))))
    61   else
    61   else
    62     $1_FIND_LIST := $$($1_SRC)
    62     $1_FIND_LIST := $$($1_SRC)
    63   endif
    63   endif
    64 
    64 
    65   # Find all files in the source tree.
    65   # Find all files in the source tree. Follow symlinks in this find since that is
    66   $1_ALL_SRCS := $$(call not-containing,_the.,$$(call CacheFind,$$($1_FIND_LIST)))
    66   # what zip does.
       
    67   $1_ALL_SRCS := $$(call not-containing,_the.,$$(call CacheFind,$$($1_FIND_LIST), , -L))
    67 
    68 
    68   # Filter on suffixes if set
    69   # Filter on suffixes if set
    69   ifneq ($$($1_SUFFIXES),)
    70   ifneq ($$($1_SUFFIXES),)
    70     $1_ALL_SRCS := $$(filter $$(addprefix %, $$($1_SUFFIXES)), $$($1_ALL_SRCS))
    71     $1_ALL_SRCS := $$(filter $$(addprefix %, $$($1_SUFFIXES)), $$($1_ALL_SRCS))
    71   endif
    72   endif
   124   # If zip has nothing to do, it returns 12 and would fail the build. Check for 12
   125   # If zip has nothing to do, it returns 12 and would fail the build. Check for 12
   125   # and only fail if it's not.
   126   # and only fail if it's not.
   126   $$($1_ZIP) : $$($1_ALL_SRCS) $$($1_EXTRA_DEPS)
   127   $$($1_ZIP) : $$($1_ALL_SRCS) $$($1_EXTRA_DEPS)
   127 	$$(call LogWarn, Updating $$($1_NAME))
   128 	$$(call LogWarn, Updating $$($1_NAME))
   128 	$$(call MakeTargetDir)
   129 	$$(call MakeTargetDir)
   129 	$$(foreach s,$$($1_SRC),(cd $$s && $(ZIPEXE) -qru $$($1_ZIP_OPTIONS) $$@ . \
   130 	$$(foreach s,$$($1_SRC), $$(call ExecuteWithLog, \
   130 	    $$($1_ZIP_INCLUDES) $$($1_ZIP_EXCLUDES) -x \*_the.\* \
   131 	    $$(SUPPORT_OUTPUTDIR)/zip/$$(patsubst $$(OUTPUTDIR)/%,%, $$@), \
   131 	    $$($1_ZIP_EXCLUDES_$$s) \
   132 	    (cd $$s && $(ZIPEXE) -qru $$($1_ZIP_OPTIONS) $$@ . \
   132 	    || test "$$$$?" = "12" )$$(NEWLINE)) true
   133 	        $$($1_ZIP_INCLUDES) $$($1_ZIP_EXCLUDES) -x \*_the.\* \
       
   134 	        $$($1_ZIP_EXCLUDES_$$s) \
       
   135 	        || test "$$$$?" = "12" \
       
   136 	    ))$$(NEWLINE) \
       
   137 	) true \
   133 	$(TOUCH) $$@
   138 	$(TOUCH) $$@
   134 
   139 
   135   # Add zip to target list
   140   # Add zip to target list
   136   $1 += $$($1_ZIP)
   141   $1 += $$($1_ZIP)
   137 endef
   142 endef