Как перезаписать переменную в make-файле из терминала
Я создал простой make-файл, т.е.
COMMON=hello
all:
gcc $(COMMON).c -o $(COMMON).o
Каталог, в котором я запускаю make-файл, содержит три файла: hello.c add.c multiply.c factorial.c и subtraction.c.
Когда я собираю это в терминале, используя make
команда, привет печатается. Теперь я хочу внести изменения в программу так, чтобы при написании "make add", "make multiply" или "make factorial" соответствующая программа компилировалась.
1 ответ
Просто укажите это в командной строке.
make COMMON=bye
Если цель предсказуема по именам файлов в текущем каталоге, вам вообще не нужен Makefile, потому что Make уже знает, как сделать multiply
от multiply.c
,
.PHONY: all
all: hello add multiply factorial
Если вы действительно хотите явный рецепт, попробуйте что-то вроде этого.
%: %.c
gcc -o $@ $^