私はmakeファイルを作ることにほとんど問題はありません.これはコードです:
SHELL = /bin/sh
CC := gcc
CFLAGS := -Wall
VPATH = src:obj
HEADERS := parser.h
dirs = out obj
%.o : mkdirs %.c $(HEADERS)
$(CC) -c $(word 2,$^) -o obj/$@
all : parser.o
ar cr out/libsip.a $<
clean :
rm -f -r $(dirs)
mkdirs :
mkdir -p $(dirs)
make を実行しようとすると、次のエラーが発生します。
mkdir -p out obj
gcc -c src/parser.c -o obj/parser.o
ar cr out/libsip.a parser.o
file parser.o not found
parser.o が正しいパスに置き換えられない理由がわかりません。自動変数を使用しました