Makefile для компиляции программы на c

#c #linux #makefile

#c #linux #makefile

Вопрос:

Я использую g в Linux и пишу несколько программ cpp. Например У меня есть ex1.cpp , ex2.cpp , bot.cpp .

Все эти программы cpp находятся в одной папке. Я хочу использовать make для компиляции отдельных программ, так как в «make ex1» должна быть скомпилирована ex1.cpp а не другие файлы cpp. «make bot» должен только компилироваться bot.cpp

Команда компиляции, которую я намерен выполнить, :

 g   -o bot bot.cpp
  

Я не хочу писать target и dependency в MakeFile для каждой программы cpp, которую я создаю в папке, и я не хочу компилировать все cpp за один раз, используя *.cpp .

Возможно ли в первую очередь добиться этого? Да, пожалуйста, предложите решение

Комментарии:

1. Не забудьте добавить -Wall в свою командную строку флаги!

Ответ №1:

Простое решение вашего вопроса :

Просто запустите make ex1 в командной строке, и он будет скомпилирован с помощью команды g ex1.cpp -o ex1 .

Если вы хотите динамически включать библиотеки / общие объекты или добавлять дополнительные флаги, вам следует создать файл make или следовать процедуре, предложенной Лукашем (хотя и слишком сложной).

Ответ №2:

Вам не нужно писать makefile. make ex1 уже должен делать то, что вы хотите.