■GCC
makeの前にGCCでビルドする方法を試す。
ソースファイル
main.c
main(){ hello(); }
hello.c
#include <stdio.h> hello(){ printf("Hello, World\n"); }
#include <stdio.h>が欠けていると以下のエラーが発生する。
incompatible implicit declaration of built-in function
ビルド
以下のコマンドでビルドする。
gcc -c main.c gcc -c hello.c gcc main.o hello.o -o hello
実行
以下のコマンドで実行してみる。
./hello # Hello, World
■make
makeの前に前述でできたファイルを削除しておく。
rm hello main.o hello.o
煩雑なのでmakeを使う方法にする。まずはMakefileを生成する。
vi Makefile
以下のように記述する。
all: hello hello: main.o hello.o
以下のようにしてmakeする。ターゲット名を省略した場合は最初のターゲットが実行される。慣習的にallを使用する。
make
同様に以下のコマンドで実行できる。
./hello // Hello, World
make clean
cleanとはターゲットのことであり以下のようにして動作を定義できる。
clean: rm -f *.o hello
以下のコマンドで確認する。
make clean
ファイルが消えていることが確認できる。
コンパイラ
Makefileの先頭部分で以下のように記述することによってコンパイラを変更することができる。
GCC
CC = gcc
インテルコンパイラ
CC = icc