web-dev-qa-db-ja.com

make.incとMakefileでコンパイルすることは可能ですか?

私はmakeファイルの使用の初心者です。

Make.incを使用してプロジェクトに新しいモジュールを追加しました

プロジェクトの構造は次のとおりです。-

/Project/build.sh
/Project/make.inc

/Project/Module1/Makefile
/Project/Module2/Makefile
/Project/Module3/Makefile
/Project/Module4/Makefile

/Project/my_module/Makefile

最初にプロジェクトには他に4つのモジュールがあり、それぞれがmake.incを使用してコンパイル可能です。

これまでに追加したモジュールは、独自のMakefileでコンパイルされています。多くのフラグがすべてのモジュールで同じであるため、make.incですでに定義されているCFLAGSを再利用するために、このmakeファイルにmake.incパスを含めました。これで、make.incを使用してbuild.shを使用してプロジェクト全体をコンパイルできるようになりました。

しかし、Makefileを使用してモジュールを単独でコンパイルすると、CFLAGSがmake.incで定義され、モジュールのパスの値を運ぶ変数もそこで定義されているため、エラーが発生します。

このmakeファイルのみを実行したときにそのパスを取得するにはどうすればよいですか?

Makeファイルとmake.incの両方を使用してコンパイル可能にする方法を知りたい

TIA

3
user2448138

ルートディレクトリには、include ./make.incなどのコマンドを含むメインのMakefileがあるはずです。

または、各サブフォルダー\ Makefileファイルの上に追加します:include ../make.inc

素敵な例を次の場所で見つけました: http://owen.sj.ca.us/~rk/howto/slides/make/slides/makerecurs.html

1
Savvas Radevic