Need help with makefiles

David Tardon dtardon at redhat.com
Mon Sep 10 21:42:41 PDT 2012


Hi,

On Mon, Sep 10, 2012 at 08:30:46PM +0200, zolniatamas at caesar.elte.hu wrote:
> Idézet (Matúš Kukan <matus.kukan at gmail.com>):
> 
> Hi Matus,
> 
> >Hi,
> >
> >On 10 September 2012 14:31,  <zolniatamas at caesar.elte.hu> wrote:
> >>define gb_ConcatPo
> >>echo "" > $(2)
> >>$(foreach lang,$(filter-out en-US,$(gb_WITH_LANG)), $(shell cat
> >>$(gb_POLOCATION)/$(lang)/$(1) >> $(2) && printf "\n" >> $(2)))
> >>endef
> >>
> >>then the function will return with an empty file, as if foreach had no
> >>effect.
> >
> >You probably don't want to use $(shell ..).
> >The command in there is executed first, when make is expanding
> >gb_ConcatPo I guess.
> >If you remove the shell it could +- work.
> >Better to send more next time, like, how do you use it,.. if it
> >does not work.
> 
> You were right, this was the problem. I use `` instead of $(shell
> ..) and it works. Many thanks for the help.

You do not need backticks either. Just use plain cat command, e.g.,

define gb_ConcatPo
rm -f $(2) \
$(foreach lang,$(filter-out en-US,$(gb_WITH_LANG)),\
    && cat $(gb_POLOCATION)/$(lang)/$(1) >> $(2) \
    && printf "\n" >> $(2))
endef

D.


More information about the LibreOffice mailing list