makefileファイル作成チュートリアル
5110 ワード
技術交流QQ群:1027579432、あなたの参加を歓迎します!
1.make紹介
2.makefileファイルの名前
3.makefileのルール
:
(tab )
app:a.c b.c c.c
gcc a.c b.c c.c -o app
4.makefileの作成
// gcc
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ ls
add.c head.h main.c mul.c sub.c
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ gcc add.c main.c sub.c -o app
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ ./app
sum=36
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ rm app
// make
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ vim makefile
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ cat makefile
app:add.c main.c sub.c
gcc add.c main.c sub.c -o app
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ ls
add.c head.h main.c makefile mul.c sub.c
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ make
gcc add.c main.c sub.c -o app
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ ./app
sum=36
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ vim makefile
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ cat makefile
app:add.o main.o sub.o
gcc add.o main.o sub.o -o app
add.o:add.c
gcc add.c -c
main.o:main.c
gcc main.c -c
sub.o:sub.c
gcc sub.c -c
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ rm app
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ make
gcc add.c -c
gcc main.c -c
gcc sub.c -c
gcc add.o main.o sub.o -o app
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ ./app
sum=36
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ vim add.c # add.c !
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ make
gcc add.c -c
gcc add.o main.o sub.o -o app
dl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ vim makefile
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ cat makefile
obj = add.o main.o sub.o
target = app
$(target):$(obj)
gcc $(obj) -o $(target)
#
gcc $^ -o $@
%.o:%.c
gcc -c $< -o $@
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ rm *.o
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ make
cc -c -o add.o add.c
cc -c -o main.o main.c
cc -c -o sub.o sub.c
gcc add.o main.o sub.o -o app
add.o:add.c
gcc -c add.c -o add.o
main.o:main.c
gcc -c main.c -o main.o
5.makefileの関数
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ vim makefile
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ cat makefile
src = $(wildcard ./*.c)
obj = $(patsubst %..c, %..o, $(src))
target = app
$(target):$(obj)
gcc $^ -o $@
%..o:%..c
gcc -c $< -o $@
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ make
gcc mul.c main.c add.c sub.c -o app
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ ./app
sum=36
6.makefileにプロジェクトクリーンアップ機能を追加
clean:
rm *.o app
.PHONY:clean
cdl@cdl-Inspiron-5421:~/Cpp_Tutorials/Makefile$ cat makefile
src = $(wildcard ./*.c)
obj = $(patsubst %..c, %..o, $(src))
target = app
$(target):$(obj)
gcc $^ -o $@
%..o:%..c
gcc -c $< -o $@
.PHONY:clean
clean:
-mkdir /abc
-rm $(obj) $(target) -f