[Buildroot] Makefile.package.in: strange conditional behaviour

Michael S. Zick minimod at morethan.org
Wed Jun 2 15:50:21 UTC 2010


On Wed June 2 2010, Quotient Remainder wrote:
> Hello,
> 
> I'm working on allowing source control (GIT, SVN, etc.) repositories to
> be used as software sources (instead of tarballs) and one of the
> requirements of my approach is to disable the "extraction" stage if a
> working copy of the code has been downloaded into the $(BUILD_DIR) as
> part of the "download" stage.
> I've run into a problem where the test condition I'm using is not
> working correctly.  The ifeq always evaluates the else-part.
> 
> Here is an example when running with the file not present in $(DL_DIR).
> 
>         File:/home/crehill/obair/buildroot-v2010.05/dl/signtools-HEAD.tar.bz2.
>         Wild:.

Period means: "Current Directory".
That may be giving you the problems.


>         Wild is NOT empty

Which, unless the above is a typo in your post, is correct;
It is set to "Current Directory".

Mike
> 
> As is plain from the output, it IS empty!
> 
> Here is the case when the $(DL_DIR) file is present.
> 
>         File:/home/crehill/obair/buildroot-v2010.05/dl/signtools-HEAD.tar.bz2.
>         Wild:/home/crehill/obair/buildroot-v2010.05/dl/signtools-HEAD.tar.bz2.
>         Wild is NOT empty
> 
> As expected.
> 
> Do any of you makefile mavens have any idea why this behaviour might
> happen in the "$(BUILD_DIR)/%/.stamp_extracted" target in
> "package/Makefile.package.in"?
> It's bound to be something obvious-when-pointed-out but it's eluding me
> currently.
> 
> 
> The patch is generated off my current working copy so probably won't
> apply but It's just an addition of a single group of lines so is trivial
> to add manually.
> 
> 
> diff --git a/package/Makefile.package.in b/package/Makefile.package.in
> index b4ba7d6..e47911f 100644
> --- a/package/Makefile.package.in
> +++ b/package/Makefile.package.in
> @@ -152,6 +152,13 @@ endif
>  # Unpack the archive
>  $(BUILD_DIR)/%/.stamp_extracted:
>  # Only extract the package if it was downloaded.
> +       @echo "File:$(DL_DIR)/$($(PKG)_SOURCE)."
> +       @echo "Wild:$(wildcard $(DL_DIR)/$($(PKG)_SOURCE))."
> +ifeq ($(strip $(wildcard $(DL_DIR)/$($(PKG)_SOURCE))),)
> +       @echo Wild is empty
> +else
> +       @echo Wild is NOT empty 
> +endif
>  ifneq ($(wildcard $(DL_DIR)/$($(PKG)_SOURCE)),)
>         @$(call MESSAGE,"Extracting")
>         $(Q)mkdir -p $(@D)
> 
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
> 
> 




More information about the buildroot mailing list