Follow-up Comment #4, bug #47913 (project make):

You could get the same behavior as before as long as the dependency list is
exactly 1 file:


define ASDF =
Filee.cpp:File.h
Other.cpp:Other.h
endef

SPACE:=
SPACE:=${SPACE} ${SPACE}
here = here
$(foreach x,${ASDF},$(subst ${SPACE},:,$(foreach y,$(subst
:,${SPACE},${ASDF}),$(abspath ${here}/${y}))))


... though I would probably be more inclined to abandon that approach in favor
of something like:


# Usage:
#   $(call MAKE_DEPS, list of source files, list of header dependencies)
define MAKE_DEPS =
$(if $(filter undefined,$(origin 1) $(origin 2)),,$(if ${1},$(if ${2},$(eval
$(foreach x,${1},$(abspath ${here}/${x})) : $(foreach x,${2},$(abspath
${here}/${x}))))))
endef

# ...

$(call MAKE_DEPS, File.cpp, File.h)
$(call MAKE_DEPS, Other.cpp, Other.h)
$(call MAKE_DEPS, File.cpp Other.cpp, Test.h Blah.h Stuff.h)




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?47913>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/


_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to