Martin Dorey wrote:

This seems to work:

martind@sirius:~/tmp/vanem-2023-04-14$ cat Makefile
g_trace.h: Makefile; $(file > $@,$(trace_h))

\ = \

define trace_h
   #define G_TRACE(level, fmt, ...)                  $\\
           do {                                      $\\
             if (_g_trace_level() >= level) {        $\\
                _g_trace_color (TRACE_COLOUR_START); $\\
   # ....
endef
martind@sirius:~/tmp/vanem-2023-04-14$ make --warn-undefined-variables; cat 
g_trace.h; rm g_trace.h
make: 'g_trace.h' is up to date.
   #define G_TRACE(level, fmt, ...)                  \
           do {                                      \
             if (_g_trace_level() >= level) {        \
                _g_trace_color (TRACE_COLOUR_START); \
   # ....

Thanks!

But isn't make overzealous on this warning?
Shouldn't the '$\' be treated as an ESCape character?




Reply via email to