1

まず第一に、私は GNU Make に精通していないので、概念がばかげて間違っていると述べた場合は、私をからかうのではなく、修正してください。

異なる依存関係を持つ複数の実行可能ファイルをビルドするデフォルトのターゲットが必要ですが、それがわかりません。これは私が使用している最小限の例です:

    CC = gcc-4.8
    CFLAGS = # some compiler flags
    LDFLAGS = # some linker flags
    SOURCES = prog1.c prog2.c
    OBJECTS = $(SOURCES:.c=.o)
    TARGET = prog1 prog2

    $(TARGET) : $(OBJECTS)
            $(CC) $(CFLAGS) -o prog1 prog1.o $(LDFLAGS)
            $(CC) $(CFLAGS) -o prog2 prog2.o $(LDFLAGS)

    .PHONY: clean

    clean:
            @rm -f $(TARGET) $(OBJECTS) core

しかし、ご覧のとおり、 とprog2はまったく関係ありませんがprog1.c、編集prog1.cすると が再リンクされprog2ます。これを防ぐ方法はありますか?

(また、誰かが GNU Make の優れたチュートリアルを教えてくれると本当にありがたいです。公式ドキュメントは膨大です...)

4

1 に答える 1