Makefileチュートリアル(未完続行)
2501 ワード
Makefile教程多篇,源于大神,整理一下,以后好找点:
私と一緒にMakefile(整理)、https://blog.csdn.net/haoel/article/details/2888?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-taskは私と一緒にMakefile(一)、https://blog.csdn.net/haoel/article/details/2886
私と一緒にMakefile(二)、https://blog.csdn.net/haoel/article/details/2887?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
私と一緒にMakefile(三)、https://blog.csdn.net/haoel/article/details/2888?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task … …
Makefileの使い方を整理して
一、Makefileのルール: target:オブジェクト(.o)ファイルまたは実行ファイル(targetがスペースで区切られている) を含むターゲットファイル prerequisites:targetを生成するために必要なファイル. command:実行するコマンド.commandとprerequisitesが1行にある場合は、セミコロンで区切ります.(Tabキーで始まる)
二、Makefileに変数を加える:
objectsという変数を宣言します.その後、この変数を「$(objects)」で使用できます.
そして新しいものがあればoファイルを追加するには、objects変数を簡単に変更するだけでいいです.
三、makeの「暗黙のルール」:
makeは強力で、[.o]ファイルから[.c]ファイルとコマンドを自動的に導くことができるので、そんなに複雑に書く必要はありません.以下に変更できます.".PHONY"は、cleanが偽のターゲットファイルであることを示します.この宣言があれば、「clean」ファイルがあるかどうかにかかわらず、「clean」というターゲットを実行するには、「make clean」だけです.
四、別のスタイルのMakefile
そんな缲り返しの[.h]を、しまっていいのか.だからもう一つの書き方があって、自分の好きなように選んでいます.注釈は#で始まる. コマンドが長すぎる場合は、改行記号''''として反斜枠('')を使用します.
私と一緒にMakefile(整理)、https://blog.csdn.net/haoel/article/details/2888?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-taskは私と一緒にMakefile(一)、https://blog.csdn.net/haoel/article/details/2886
私と一緒にMakefile(二)、https://blog.csdn.net/haoel/article/details/2887?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
私と一緒にMakefile(三)、https://blog.csdn.net/haoel/article/details/2888?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task … …
Makefileの使い方を整理して
一、Makefileのルール:
target ... : prerequisites ...
command
...
...
edit : main.o kbd.o command.o
cc -o edit main.o kbd.o command.o
main.o : main.c defs.h
cc -c main.c
kbd.o : kbd.c defs.h command.h
cc -c kbd.c
command.o : command.c defs.h command.h
cc -c command.c
clean:
rm edit main.o kbd.o command.o
二、Makefileに変数を加える:
objectsという変数を宣言します.その後、この変数を「$(objects)」で使用できます.
objects = main.o kbd.o command.o
edit : $(objects)
cc $(objects) -o edit
main.o : main.c defs.h
cc -c main.c
kbd.o : kbd.c defs.h command.h
cc -c kbd.c
command.o : command.c defs.h command.h
cc -c command.c
そして新しいものがあればoファイルを追加するには、objects変数を簡単に変更するだけでいいです.
三、makeの「暗黙のルール」:
makeは強力で、[.o]ファイルから[.c]ファイルとコマンドを自動的に導くことができるので、そんなに複雑に書く必要はありません.以下に変更できます.
objects = main.o kbd.o command.o
edit : $(objects)
cc $(objects) -o edit
main.o : defs.h
kbd.o : defs.h command.h
command.o : defs.h command.h
.PHONY : clean
clean :
rm edit $(objects)
四、別のスタイルのMakefile
そんな缲り返しの[.h]を、しまっていいのか.だからもう一つの書き方があって、自分の好きなように選んでいます.
#object
objects = main.o kbd.o command.o
edit : $(object
cc -o edit $(objects)
$(objects) : defs.h
kbd.o command.o files.o : command.h
clean :
rm edit $(objects)