3

プロジェクトのビルドに autotools を使用していますが、AM_CPPFLAGS をグローバルに -I$(top_srcdir)/include に設定したいと考えています。

https://stackoverflow.com/a/325436/2592351この回答は私を助け、「include $(top_srcdir)/include」ハックを行っていますが、うまくいきます。

ただし、見た目がきれいなので、そこに記載されている「AC_SUBST」の方法を実行したいと思います。問題は、これをconfigure.acに追加するときです:

AC_SUBST([AM_CPPFLAGS], [-I$(top_srcdir)/include])

次に、$(top_srcdir) が展開されるのが早すぎて、AM_CPPFLAGS = -I/include in subdir/Makefile{,.in} を取得します。

そして、私はそれを逃れる方法がわかりません。

-I@top_srcdir@/include
-I\$(top_srcdir)/include
-I$$(top_srcdir)/include

これらはすべて、さまざまな理由で失敗しました。

助けてください。$(top_srcdir) が Makefile{,.in} に到達する前にエスケープされないように、AC_SUBST をどのように記述すればよいですか? それとも、AC_SUBST 以外のものを使用する必要がありますか?

4

1 に答える 1