makefile 自动编译所有文件

做助教,改作业时,有时需要一个个测试学生的作业。

因此需要编译每一个学生的程序。如果一个个命令敲下去会让人抓狂。用shell命令虽然也可以,但是太长了,执行时也不简洁。于是写了个四行的makefile,可以编译所有程序了。

SOURCE=$(wildcard *.c )
OBJS=$(patsubst %.c,%,$(SOURCE))
CC:=gcc
all: $(OBJS)


执行结果如下

root@node1:~/cpubound# make
gcc     main2.c   -o main2
gcc     main.c   -o main

root@node1:~/cpubound# ls
cpubound  main  main2  main2.c  main.c  Makefile

每一个c语言文件直接生成对于的执行程序。当然,如果要严格些,可以让其生成对于的.o文件,然后编译链接。不过学生作业可以不用那么拘束了。

猜你喜欢

转载自blog.csdn.net/w497629433/article/details/12711813