Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Hamish Moffatt <hamish@cloud.net.au>
To: buildroot@busybox.net
Subject: [Buildroot] Makefile.autotools.in does not work wellwith	projects
Date: Mon, 28 Jul 2008 18:50:03 +1000	[thread overview]
Message-ID: <20080728085003.GA22274@cloud.net.au> (raw)
In-Reply-To: <1217234557.7955.8.camel@localhost>

On Mon, Jul 28, 2008 at 10:42:37AM +0200, Hans-Christian Egtvedt wrote:
> On Sun, 2008-07-27 at 11:33 +1000, Hamish Moffatt wrote:
> > On Sat, Jul 26, 2008 at 08:53:43AM +0200, Ulf Samuelsson wrote:
> > > Subject: Re: [Buildroot] Makefile.autotools.in does not work wellwith  
> > > projects
> > >
> > >> On Thu, Jul 24, 2008 at 04:43:09PM +0200, Hans-Christian Egtvedt wrote:
> > >>> The Makefile.autotools.in uses a rule which touches a
> > >>> stamp_target_installed file, this does not work well with projects.
> > >>>
> > >>> The Makefile should depend on a file on the target root file system,
> > >>> file not there => install to target again.
> > >>
> > >> Indeed - install stamps are pure evil. They don't work with multiple
> > >> projects and they mean you can't "rm -rf
> > >> project_build_$(ARCH)/$(PROJECT)/root".
> > >
> > > I do not think that you want to have install stamps in the root file system
> > > because they will end up in the target (unless they are ignored when
> > > the rootfs is created).
> > 
> > I don't think you should use stamps at all - test for a target file
> > instead.
> 
> And two minutes later I have a RFC for this solution, see attached
> patch.
[..]
>  # Install to target dir
> -$(BUILD_DIR)/%/.stamp_target_installed:
> +$(TARGET_DIR)/%/$($($(PKG)_NAME)_TARGET_INSTALLED_TOUCH_FILE):
>  	$(call MESSAGE,"Installing to target")
> -	$($(PKG)_MAKE_ENV) $(MAKE) $($(PKG)_INSTALL_TARGET_OPT) -C $(@D)/$($(PKG)_SUBDIR)
> +	$($(PKG)_MAKE_ENV) $(MAKE) $($(PKG)_INSTALL_TARGET_OPT) -C $($(PKG)_DIR)/$($(PKG)_SUBDIR)
[..]
>  # define sub-target stamps
> -$(2)_TARGET_INSTALL_TARGET =	$$($(2)_DIR)/.stamp_target_installed
> +$(2)_TARGET_INSTALL_TARGET =	$$(TARGET_DIR)/$$($(2)_TARGET_INSTALLED_TOUCH_FILE)

Will every package that uses Makefile.autotools.in need to be modified
to define the target installed file? If so, would you like to prepare a
large patch? :) Alternatively, perhaps $(2)_TARGET_INSTALL_TARGET could
be fall back to the old definition if the new variable is not supplied,
using some ifeq logic.

Thanks for working on this!
Hamish
-- 
Hamish Moffatt VK3SB <hamish@debian.org> <hamish@cloud.net.au>

  reply	other threads:[~2008-07-28  8:50 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-24 14:43 [Buildroot] Makefile.autotools.in does not work well with projects Hans-Christian Egtvedt
2008-07-25  0:12 ` Hamish Moffatt
2008-07-26  6:53   ` [Buildroot] Makefile.autotools.in does not work wellwith projects Ulf Samuelsson
2008-07-27  1:33     ` Hamish Moffatt
2008-07-28  8:35       ` Hans-Christian Egtvedt
2008-07-28  8:42       ` Hans-Christian Egtvedt
2008-07-28  8:50         ` Hamish Moffatt [this message]
2008-07-28  8:52           ` Hans-Christian Egtvedt
2008-07-30 10:19             ` Bernhard Fischer
2008-08-06  6:31               ` Hans-Christian Egtvedt
2008-08-06  8:54                 ` Bernhard Fischer
2008-08-06  9:04                   ` Hans-Christian Egtvedt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080728085003.GA22274@cloud.net.au \
    --to=hamish@cloud.net.au \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox