1.首先準備所需的target和files:
按照makefile的基本格式,如下圖所示.
makefiles in linux: an overview
target為calculate。
files為main.c,add.c , divide.c , minus, multiply.c ,math.c ,**分別如下:
main.c**如下:
#include#includeint main(void)
add.c**如下:
#includeint add(int x, int y)
divide.c**如下:
#includeint divide(int x, int y)
return(x/y);
}
minus.c**如下:
#includeint minus(int x, int y)
multiply.c**如下:
#includeint multiply(int x, int y)
標頭檔案math.h**如下:
int add(int x, int y);
int minus(int x, int y);
int divide(int x, int y);
int multiply(int x. int y);
makefile版本1(沒有用變數等,複雜點,但可讀性較強):
objects=main.o add.o divide.o minus.o multiply.o
calculate: $(objects)
gcc $(objects) -o calculate
$(objects):%.o: %.c math.h
gcc -c $< -o $@
clean:
rm calculate *.o
makefile版本2(用了變數和$
objects=main.o add.o divide.o minus.o multiply.o
calculate: $(objects)
gcc $(objects) -o calculate
$(objects):%.o: %.c math.h
gcc -c $< -o $@
clean:
rm calculate *.o
在ubuntu上測試結果如下:
Makefile簡單入門
作為linux或unix下的程式開發人員,大家一定都遇到過makefile,用make命令來編譯自己寫的程式確實是很方便。一般開發情況下,大家都是手工寫乙個簡單makefile。下面先給乙個最簡單的示例 makefile示例 object main.o function.o change objec...
makefile語法舉例
all gcc servo.c o servo clean rm rf servo servo.o main main.o gcc main.o o main main.o main.c gcc c main.c clean rm rf main.o main 不包括字尾名的當前依賴檔案的名稱 所有...
makefile簡單入門(三)
makefile有三個非常有用的自動變數,分別是 目標檔案,所有的依賴檔案,第乙個依賴檔案。還是原來的 objects main.o add.o sub.o test objects gcc o test objects main.o main.c gcc c main.c add.o add.c ...