A.h, A.c, B.h, B.c, C.h, C.c, X.h, Y.c
Хочу разрешить включать X.h в A.c, B.c, C.c, но запретить в Y.c, то, что идет на ум:
/* A.c */
#define ALLOW_Y
#include "X.h"
#undef ALLOW_Y
/* X.h */
#ifdef ALLOW_Y
<here comes dragons>
#endif
A.h, A.c, B.h, B.c, C.h, C.c, X.h, Y.c
Хочу разрешить включать X.h в A.c, B.c, C.c, но запретить в Y.c, то, что идет на ум:
/* A.c */
#define ALLOW_Y
#include "X.h"
#undef ALLOW_Y
/* X.h */
#ifdef ALLOW_Y
<here comes dragons>
#endif