2

簡単なメイクファイルを作成しました

COMMON=hello
all:
  gcc $(COMMON).c -o $(COMMON).o

makefile を実行しているディレクトリには、hello.c、add.c、multiply.c、factorial.c、subtraction.c の 3 つのファイルが含まれています。

コマンドを使用してターミナルでこれをコンパイルするとmake、hello が出力されます。ここで、「make add」または「makemultiply」または「make factorial」を記述したときに、対応するプログラムがコンパイルされるようにプログラムを変更したいと考えています。

4

1 に答える 1

2

コマンドラインで指定するだけです。

make COMMON=bye

multiplyターゲットが現在のディレクトリ内のファイル名から予測できる場合、Make は既にからの作成方法を知っているため、Makefile はまったく必要ありませんmultiply.c

.PHONY: all
all: hello add multiply factorial

明示的なレシピが本当に必要な場合は、次のようなものを試してください。

%: %.c
        gcc -o $@ $^
于 2012-07-09T11:17:23.577 に答える