0


次の構造のプロジェクトのリポジトリがあります。

レポ/
  configure.ac
  Makefile.am
  project1 /
    configure.ac
    Makefile.am
    [出典]
  project2 /
    configure.ac
    Makefile.am
    [出典]
  project3 /
    configure.ac
    Makefile.am
    [出典]

そして今、私はディレクトリ(例えばcommon_logic/)を追加しrepo/て何らかの方法で変更しproject1project2からのソースを使用する必要がありますcommon_logic

私が見ることができる解決策の1つは、 Makefile.amで実行された../common_logic/./configure(またはMakefileのルールの前)にコピーしproject1/て、次の行を追加することです。

project1_la_CFLAGS + = -I./common_logic

project1_la_SOURCES + = ./common_logic/foo.h ./common_logic/foo.c

この場合、どちらmakemake dist壊れていません。しかし、それは私には松葉杖のように見えます。

とにかく、新しく作成したフォルダを使用するためにどのように変更するproject1必要があるかを教えてください。project2または別の解決策を示しますか?

4

1 に答える 1

1

おそらく、以下から便利なライブラリを構築するのが最善ですcommon_logic:

noinst_LTLIBRARIES = libcommonlogic.la
libcommonlogic_la_SOURCES = foo.c foo.h

次に、project1Makefile.am:

project1_la_LIBADD = ../common_logic/libcommonlogic.la
于 2012-10-06T15:26:03.657 に答える