ソースコードを分割するとき(プロトタイプ宣言を別のファイルに分けたりする)、コンパイルの順番を意識しなくてはいけない。
それをMakefileなるものに書き込むのである。
メモを以下に示します。
MakeをもちいてHello, worldを。
/* hello.c */
include
in t main(void)
{
printf("Hello, world!!\n");
return 0;
}
ここで、同一のディレクトリ内において以下の内容のファイルを作成
# Makefile
hello: hello.c
gcc -o hello hello.c
あとは、コマンドラインより
$ make
gcc -o hello hello.c
これで、helloという名の実行ファイルが生成されます。
もう少し、発展させます。
分割コンパイルの初歩です。
以下の二つのソースコードを作成します。
/* hello.c */
#include
int main(void)
{
printf("Hello, world!!\n");
aisatsu(); /* オリジナルの関数です */
return 0;
}
/* aisatsu.c */
#include
void aisatsu(void){
printf("Konnichiwa\n");
}
以下のようなメイクファイルを作る
#Makefile
hello: hello.c aisatsu.c
gcc -o hello hello.o aisatsu.o
hello.o: hello.c
gcc -c hello.c
aisatsu: aisatsu.c
gcc -c aisatsu.c
$ make
これでOK