On 30 July 2016 at 22:55, Paul Smith <psm...@gnu.org> wrote: > Please always reply to the mailing list, not to me personally. >
Sorry didn't realise I was, still not used to using mailing lists. > On Sat, 2016-07-30 at 22:39 +0100, Lee Shallis wrote: > > On 30 July 2016 at 13:47, Paul Smith <psm...@gnu.org> wrote: > > > The strange formatting makes this hard to read, but: > > > > > > $(info $(0)_CALL=(if ifeq ... > > > ^^^ > > > missing $ > > > > > > > No that was deliberate, it's meant to tell me which value I'm looking > > at in the output. > > As for the if not having a $ that was so I could see what the previous > > statement looked like was before it was fully evaluated. > > > > It's just this bit I need you to analyse: > > > $(eval $(0)_CALL=$(if ifeq "$($(0)_PREVMOD)" > "$($(0)_LASTMOD)",_UPTODATE,_UPDATECC)) > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > Well, $(if ifeq ...) is always true, because the result of expanding > that value will never be the empty string. > > You seem to be under the impression that the "condition" passed to the > if-function is related to the ifeq/ifneq/ifdef/ifndef conditional > syntax; it's not. > Ah that, I saw it in another thread on stackoverflow while I was looking for something else and assume it was correct method of usage, thank you for correcting me > You probably want to use filter-out to see if the value of the first is > identical to the second; something like: > > $(if $(filter-out <first>,<second>),<run-if-not-equal>,<run-if-equal>) > > Note the reversal of the then- and else-arguments: here if the values > are equal then the filter-out returns an empty string, which means the > condition is considered false. > Thank you, I expanded on your advice to create this: if_eql=$(if $(filter-out $(1),$(2)),$(4),$(3)) if_neq=$(if $(filter-out $(1),$(2)),$(3),$(4)) > which helped me get the result I was expecting -- We will die a permanent death unless we trust in Jesus Christ our saviour and repent our sinful ways _______________________________________________ Help-make mailing list Help-make@gnu.org https://lists.gnu.org/mailman/listinfo/help-make