メイクファイルはどのようにして実行可能ファイルを作成するのか

Makeファイルを作成し、コンパイルルールを定義することで実行可能ファイルを生成する。

以下は「main」という名前のC++ソースファイルをコンパイルして実行可能ファイルを生成するための、簡単なサンプルのMakefileファイルです。

CC = g++
CFLAGS = -Wall
TARGET = main
SOURCES = main.cpp
OBJECTS = $(SOURCES:.cpp=.o)
all: $(TARGET)
$(TARGET): $(OBJECTS)
$(CC) $(CFLAGS) -o $@ $^
%.o: %.cpp
$(CC) $(CFLAGS) -c $<
clean:
rm -f $(OBJECTS) $(TARGET)

Makefileでは、まずコンパイラとコンパイルオプションを定義します。次に、ターゲットファイルの名前(TARGET)、ソースファイルの名前(SOURCES)、オブジェクトファイルの名前(OBJECTS)を定義します。

次に、ターゲットファイル($(TARGET))に依存する「all」という擬似ターゲットを定義します。このターゲットでは、$(CC) コマンドを使用してすべてのオブジェクトファイルをリンクし、最終的な実行可能ファイルを作成します。

次に、各ソースファイルからオブジェクトファイルをコンパイルするパターンルールを定義しました。このルールでは、 $(CC) コマンドを使用してソースファイルをオブジェクトファイルにコンパイルしています。

最後に、「clean」という擬似目標を定義しました これにより生成されたオブジェクトファイルと実行ファイルが削除されます

実行ファイルを作成するだけなら、コマンドラインで “make“ コマンドを実行するだけです。

$ make

Makefileに定義された規則に従ってソースファイルをコンパイルして、実行ファイルを生成します。

bannerAds