Вы можете сделать что-то подобное, это не совсем то, что вы ищете, но это может помочь.
#ifdef ENABLE_MACRO_1
#define PRINT_MACRO(varName) \
std::cout<<varName<<std::endl;
#else
#define PRINT_MACRO(varName) \
//do nothing
#endif
Таким образом, вы можете определить макрос в зависимости от того, какое условие предрекурсора было определено.