#include <stdio.h>

#define PICK_SET_A

#ifdef PICK_SET_A
#define SET A
#endif
#ifdef PICK_SET_B
#define SET B
#endif

#define ENABLE_VAR_1_A   1
#define ENABLE_VAR_2_A   1

#define ENABLE_VAR_2_B   0
#define ENABLE_VAR_2_B   0

#define MACRO_RESOLVE__(M) M
#define MACRO_RESOLVE_(V, S) MACRO_RESOLVE__(ENABLE_VAR_ ## V ##_## S)
#define MACRO_RESOLVE(var,set) MACRO_RESOLVE_(var, set)

#define ENABLE_VAR_1     MACRO_RESOLVE(1, SET)
#define ENABLE_VAR_2     MACRO_RESOLVE(2, SET)

int main(int argc, char **argv) {

    fprintf(stdout, "VALUE: %d\n", ENABLE_VAR_1);

    return 0;
}