target : main.o g_a.o g_b.o
gcc -o $@ $^
@echo $@
@echo $^
main.o : main.c g_a.h g_b.h
gcc -o main.o -c main.c
g_a.o : g_a.c g_a.h
gcc -o g_a.o -c g_a.c
g_b.o : g_b.c g_b.h
gcc -o g_b.o -c g_b.c
a:
@echo $@
@echo $^
.PHONY : clean
src = $(wildcard ./sub/*.c)
dir = $(notdir $(src))
obj = $(patsubst %.c,%.o,$(dir))
all :
注意看输出结果: