Makefileを用いたCのHello Worldプログラムの実行
はじめに
まずは能書き垂れる前に、サンプルソースをさっさと動かします。
環境構築
Ubuntu18.04LTS
# install make package
sudo apt-get install make
準備するファイル
~/sample/
|-Makefile
|-main.c
|-hello.h
|-hello.c
# mkdir project dir under ~/
mkdir sample
cd sample
touch Makefile main.c hello.h hello.c
hello: main.c hello.c hello.h
gcc -I . main.c hello.c hello.h -o hello
gccコンパイラは、ヘッダファイルをホストPCの /usr/include 下で探すが、
./ 下のオリジナルのヘッダファイルは見てくれない。なので -I オプションで現在のディレクトリ . を指定する。
#include "hello.h"
int main() {
hello();
}
#ifndef HELLO_H
#define HELLO_H
void hello();
#endif
#include <stdio.h>
#include "hello.h"
void hello() {
puts("Hello World");
}
コンパイル
コンパイルします。
$ make
gcc -I . main.c hello.c hello.h -o hello
実行後、こんなにたくさんファイルができました。
$ ls
hello hello.c hello.h hello.h.gch main.c main.o Makefile
実行
$ ./hello
Hello World