#include <stdio.h>

#define DEBUG 1
#define MYDEF 1
#define YOURDEF 1

#define TRACE(x) do { if (DEBUG) printf x; } while (0)

#ifdef MYDEF

#define IF_MY(x,y) x y

#else

#define IF_MY(x,y) x

#endif

#ifdef YOURDEF

#define IF_MY_YOUR(x,y,z) IF_MY(x,y) z

#else

#define IF_MY_YOUR(x,y,z) IF_MY(x,y)

#endif

int main(void) {
    char *msg="aaa";
    TRACE((IF_MY_YOUR("Message: %s", " Additional stuff ", " More stuff ")"\n", msg));
	return 0;
}
