トップレベルのヘッダーファイルで行うのではなく、Makefile
たとえば経由でマクロを追加すると、動作が異なるサードパーティのコードがあります(ドキュメントが示すように、すべてのファイルに含まれています)。-DMacro
#define MACRO
さまざまな方法で定義することに違いがあるかどうかをグーグルで調べましたが、 -D MACRO と #define MACRO の優先順位を除いて、あまり思いつきませんでした。
デバッグを開始して問題を特定する前に、make のドキュメントや C 標準について何か不足していないかどうか疑問に思っています。
回答ありがとうございます。