Подтвердить что ты не робот

Несколько make файлов в одном каталоге

У меня есть makefile в моей директории, которая строит скрипты с определенными переменными среды. Что делать, если я хочу создать еще один make файл в том же каталоге с разными переменными окружения? Как мне назвать два файла make? Работает ли makefile.1 и makefile.2? Как я их называю?

4b9b3361

Ответ 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