【C言語】Makefileの使い方

C言語

Makefileを使ったコンパイル

ソースファイルが多くなってくるとコンパイルも長くなってきます。自動でコンパイルしてくれるmakefileというものがあります。予めコンパイルする内容を記述しておくことで,コンパイル時間が減ったりします。

makefileの書き方について大体このような感じで書きます。

フォルダの階層構造

ソースファイルはlibの下に記載します。main関数はlibと同じ階層です。実行ファイルARCSも同じ階層に出力されます。このときのmakefileの書き方を示します。

Makefile
CC = gcc
CFLAGS = -Wall -O2 -I./lib
LDFLAGS = -L./lib -lm
SRCS = main.c lib/add.c
OBJS = $(SRCS:.c=.o)
TARGET = ARCS

$(TARGET): $(OBJS)
	$(CC) -o $@ $(OBJS) $(LDFLAGS)

%.o: %.c
	$(CC) -c $(CFLAGS) $< -o $@

lib/add.o: lib/add.c lib/add.h
	$(CC) -c $(CFLAGS) -o $@ $<

clean:
	rm -f $(OBJS) $(TARGET) lib/add.o

makeをするときはmakefileが置かれている階層までコマンドプロンプトやターミナルで移動し,makeをするだけでARCSという実行ファイルが生成されます。実行する際は./ARCSでできます

まとめ

C言語のコンパイルについてmakefileの使い方を紹介しました。次回はシミュレーション環境と解析環境の構成について紹介します。

コメント

タイトルとURLをコピーしました