多個原始檔編譯--makefile
main.c 中引入one.h 和two.h兩個標頭檔案,one.c two.c 分別實現兩個標頭檔案中定義的函式
有兩種方式編譯執行該程式,
一:手動單獨編譯
gcc -c one.c
gcc -c two.c
gcc -c main.c
gcc -o main main.o one.o two.o
二、makefile
#! /bin/sh
main:main.o one.o two.o
gcc -o main main.o one.o two.o
main.o:main.c one.h two.h
gcc -c main.c
one.o:one.c one.h
gcc -c one.c
還可以對makefile進行精簡:
首先有三個符號:
1 [email protected] 代表目標檔案
2 $< 代表第一個檔案
3$^ 代表所有依賴檔案
所以上面命令可以精簡為:
main:main.o one.o two.o
gcc(或者cc) -o [email protected] $^
main.o:main.c one.h two.h
gcc(或者cc)-c $<
one.o:one.c one.h
tab鍵gcc(或者cc)-c $<