У меня есть makefile в моей директории, которая строит скрипты с определенными переменными среды. Что делать, если я хочу создать еще один make файл в том же каталоге с разными переменными окружения? Как мне назвать два файла make? Работает ли makefile.1
и makefile.2
? Как я их называю?
Несколько make файлов в одном каталоге
Ответ 1
Вы можете дать разумные имена файлам, таким как makefile.win и makefile.nix, и использовать их:
make -f makefile.win
make -f makefile.nix
или иметь Makefile, который содержит:
win:
make -f makefile.win
nix:
make -f makefile.nix
и используйте make win
или make nix
Ответ 2
На самом деле вы можете иметь два набора переменных среды в одном файле make. например
COMPILER = gcc
CCFLAGS1 = -g
CCFLAGS2 = -Wall
a: main.c
${COMPILER} ${CCFLAGS1} main.c
b: test.c
${COMPILER} ${CCFLAGS2} test.c
то вы можете просто сказать make a
или make b
. В зависимости от того, что вы хотите.
Также с флагом -f можно вызвать, какой make файл вы хотите вызвать.
Ответ 3
Вы можете указать makefile, что хотите. Обычно я называю это как somename.mk
. Чтобы использовать его позже, вам нужно сообщить, какой makefile вы хотите. Используйте для этого параметр -f
:
make -f somename.mk
Ответ 4
Вы можете сделать что-то вроде этого, а не использовать несколько make файлов для той же цели. Вы можете передать среду или установить флаг в тот же файл makefile. Например,
ifeq ($(ENV),ENV1)
ENV_VAR = THIS
else
ENV_VAR = THAT
endif
default : test
.PHONY : test
test:
@echo $(ENV_VAR)
Затем вы можете просто запустить команду make с помощью аргументов
make ENV=ENV1