Makefile
在当前文件下生成
src = $(wildcard *.c)
obj = $(patsubst %.c, %.o, $(src))
target = a.out
all:$(target)
$(target) : $(obj)
gcc $(obj) -o a.out
main.o:main.c
gcc -c main.c -o main.o
add.o:add.c
gcc -c add.c -o add.o
sub.o:sub.c
gcc -c sub.c -o sub.o
mul.o:mul.c
gcc -c mul.c -o mul.o
clean:
rm -rf $(target) $(obj)
在指定文件下生成
src = $(wildcard ./src/*.c)
obj = $(patsubst ./src%.c, ./obj/%.o, $(src))
target = ./bin/a.out
all:$(target)
$(target):$(obj)
gcc $(^) -o $(@)
$(obj):./obj/%.o:./src/%.c
gcc -c $(^) -I ./include -o $(@)
.PHONY:clean all
clean:
-rm -rf $(target) $(obj)