我尝试编写简单的makefile 进行练习。
我有两个目录 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
我将 current/src 目录指定为 VPATH 以进行查找
当前目录和 current/srcs 中的所有 *.c 文件,但
它在 /srcs 目录中找不到 *.c 文件。
在 Makefile 中定义变量时,可能无法使用 VPATH
正确的?如果它是正确的,请让我知道更好的方法:)
谢谢。