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文件,然后编译链接。不过学生作业可以不用那么拘束了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章