練習用に簡単なメイクファイルを書いてみました。
2 つのディレクトリがあります。1.srcs( .c)、2.include( .h)
すべての .c ファイルを含む SRCS 変数を定義しようとします。
現在のディレクトリとsrcsディレクトリにあります。
以下は私のMakefileです
CURDIR = $(shell pwd)
OBJDIR = $(CURDIR)/objdir
VPATH = $(CURDIR)/srcs
SRCS = $(wildcard *.c)
OBJS = $(patsubst %.c, %.o, $(SRCS))
all: main
main: $(OBJS)
gcc -o $@ $^
$(OBJS): $(SRCS) | $(OBJDIR)
gcc -c -o $@ $<
$(OBJDIR):
mkdir objdir
現在の/ srcディレクトリをVPATHとして指定して検索します
現在のディレクトリと current/srcs 内のすべての *.c ファイルですが、
/srcs ディレクトリに *.c ファイルが見つかりません。
Makefileで変数を定義するときに、makeがVPATHを使用できない可能性があります
右?それが正しければ、より良いアプローチを教えてください:)
ありがとう。