あなたは私たちに多くの情報を提供していないので、推測する必要があります。と の 3 つのファイルがあるfoo.c
とbar.c
しbaz.c
ますsrc/
。また、makefile が親ディレクトリ (src/
およびも含まinclude/
れる) にあり、オブジェクト ファイルと実行可能ファイルをそこにビルドしたいとしますfoo
。これで十分です:
VPATH = src
CFLAGS += -Iinclude
foo: foo.o bar.o baz.o
$(CC) $^ -o $@
これは大雑把なメイクファイルです。基本に慣れれば、より洗練されたバージョンも可能です。
編集:
走ろうとする前に歩くことを学ばなければなりません。複雑なディレクトリ構造を処理できるメイクファイルを作成する場合は、より単純なメイクファイルを理解する必要があります。メイクファイルと同じディレクトリにあるソース ファイル ( foo.c
) とヘッダー ファイル ( )の両方のすべてのファイルから始めます。foo.h
次に、上記の makefile の最初の 2 行を省略できます。およびを作成する前にそのmakefile を理解していることを確認してください。これらの手順を省略しようとすると、より複雑なケースではうまくいきません。src/
VPATH = src
include/
CFLAGS += -Iinclude