On Fri, Apr 14, 2023 at 5:38 AM Gisle Vanem <gva...@yahoo.no> wrote: > But with 'MAKEFLAGS += --warn-undefined-variables', I get a > bunch of warnings: > 'reference to undefined variable '\'' > > How can I avoid that?
There are various techniques. example 1, define the variable \:= define trace_h #define G_TRACE(level, fmt, ...) $\\ do { $\\ if (_g_trace_level() >= level) { $\\ _g_trace_color (TRACE_COLOUR_START); $\\ # .... endef g_trace.h:; $(file > $@,$(trace_h)) example 2, introduce a space after the backslash space:= # define trace_h #define G_TRACE(level, fmt, ...) \$(space) do { \$(space) if (_g_trace_level() >= level) { \$(space) _g_trace_color (TRACE_COLOUR_START); \$(space) # .... endef g_trace.h:; $(file > $@,$(trace_h)) example 3, place your code inside the recipe g_trace.h: @echo 'G_TRACE(level, fmt, ...) \ do { \ if (_g_trace_level() >= level) { \ _g_trace_color (TRACE_COLOUR_START); \ # ....' > $@ regards, Dmitry