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文件,然後編譯鏈接。不過學生作業可以不用那麼拘束了。

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