我有一个简单的makefile,它p.c使用gccLinux在Linux上编译文件.该p.c文件取决于a.h文件.我的makefile看起来像这样:
//makefile
CC = gcc
build: p.c a.h
$(CC) -o out p.c
clean:
rm -f *.exe
rebuild: clean build
Run Code Online (Sandbox Code Playgroud)
你的Makefile不会产生它有望产生,即文件build,clean和rebuild.由于这些目标不是文件,因此应将其标记为虚假目标:
.PHONY: build clean rebuild
Run Code Online (Sandbox Code Playgroud)
build 目标应该是:
build : out
out : p.c a.h
$(CC) -o $@ p.c
Run Code Online (Sandbox Code Playgroud)