变量的模式替换
src1 := a.cc b.cc c.cc
obj1 := $(src1:cc=o) #变量值的替换,把src1里面的.cc替换为.o并赋值给obj1
test1 :
@echo "obj1 => $(obj1)"
src2 := a11b.c a22b.c a33b.c
obj2 := $(src2:a%b.c=x%y.c) #模式替换,%代表中间的若干字母,把(a%b.c)替换为(x%y.c)
test2 :
@echo "obj2 => $(obj2)"
规则的模式替换
C := g++
TARGET := hello.out
OBJS := func.o main.o
$(TARGET) : func.o main.o
$(CC) -o $@ $^
$(OBJS) : %.o : %.c
gcc -o $@ -c $^
.PHONY : rebuild clean all
rebuild : clean all
all : $(TARGET)
clean :
rm *.o $(TARGET).out