2017-09-19 6 views
0

私は2つのモジュール(クライアントとサーバー)を持つプロジェクトを持っています。 各モジュールはそれ自身のサブフォルダにあり、独自のmakeファイルを持っています。 プロジェクトのルートディレクトリにconfigure.acファイルが1つあります。サブプロジェクトの個別設定を定義する方法

AC_SEARCH_LIBSを使用して、プロジェクトのコンパイルフラグを設定します。 問題は、両方のモジュールが異なるライブラリを使用する必要があることです(サーバーはpthreadが必要、クライアントは必要ありません)。

異なるモジュールに対して異なるコンパイルフラグを設定するにはどうすればよいですか?

ベストプラクティスは何ですか?

configure.acを分割する必要はありますか? (はいの場合は、正しく実行する方法)

答えて

0

configure.acに複数に分割する必要はありません。

トリックは、あなたが、あなたのMakefile.am

configure.ac(抜粋)に独立して使用することができ、各ライブラリの異なる置換変数、作成するには、次のとおりです。

AC_SEARCH_LIBS([fooFun], [foo], [FOO_LIBS="-lfoo"]) 
AC_SEARCH_LIBS([barFun], [bar], [BAR_LIBS="-lbar"]) 
AC_SEARCH_LIBS([bazFun], [baz], [BAZ_LIBS="-lbaz"]) 
AC_SUBST([FOO_LIBS]) 
AC_SUBST([BAR_LIBS]) 
AC_SUBST([BAZ_LIBS]) 

およびサーバー/ Makefileを。 am(抜粋):

server_LDADD = @[email protected] @[email protected] 

resp。クライアント/ Makefile.am(抜粋):

client_LDADD = @[email protected] 
関連する問題