Выполнение makefile

0

У меня есть make файл, в котором я добавил исходные файлы и файлы заголовков и связал их. Я на 100% уверен, что этот make файл правильный, потому что я спросил своих профессоров и TA. Однако я не знаю, как выполнить make файл. У меня есть файл main.c, в котором у меня есть набор операторов печати.

В моем makefile у меня есть:

all: main

Я пытаюсь запустить это, выполнив следующие команды:

make clean
make main

Тем не менее, ничего не распечатывается, оно просто соответствует требованиям, и я хочу, чтобы запустить эту программу, как мне это сделать?

  • 0
    Вы спрашиваете, как запустить вашу программу, main ? Ты говорил с этими профессорами и ТА?
Теги:
makefile

2 ответа

1
Лучший ответ

Вы не хотите выполнять make файл; вы делаете это, запустив make. Делайте сборки программ. Обычно он не запускает программы, которые он создает, хотя он может это сделать.

В приведенном выше примере, если вы хотите запустить программу после создания сборки, вы просто используете:

 ./main

для запуска. Если вы хотите создать правило make файла, которое будет запускать программу, вы можете добавить в свой файл make файл что-то вроде:

run: main
        ./main

Если вы поместите это в конец make файла, вы можете запустить make run для создания и запуска программы. Если вы поместите его в начало make файла (прежде all или иначе), вы можете ввести make и он будет создавать и запускать программу, или набирать make all или make main и он просто будет создавать программу, не запуская ее.

2

Вам нужно использовать all правило, подобное этому...

make all

... или просто...

make

Это предполагает, что ваш make файл называется "Makefile" или "makefile". Если он называется чем-то другим, вам понадобится опция -f:

make -f app.mak

Примечание. Я использую "app.mak" в качестве примера.

Если вы хотите выполнить свою программу после ее создания. Вам нужно будет добавить еще одну строку, например:

all: main
    ./main

Предполагается, что ваш исполняемый файл находится в текущем каталоге и его названии main.

  • 0
    Я не думаю, что вы внимательно прочитали вопрос ОП.
  • 1
    @JimBalter Я уверен, что нет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню