Make

Автоматически строить проекты C и C++ без makefile.

Создание макфайла для программы C или C++ утомительно, особенно из-за очень специфического синтаксиса этого файла, который датируется древностью компьютеров.

Теперь было установлено, что интереснее создать файл CMake, из которого можно автоматически создать файл makefile. Но это не упрощает работу, и мы видим, что в Интернете есть сотни учебников, которые помогут построить этот новый файл конфигурации генерации конфигурационных файлов.

Проще говоря, я написал No Make - программу, которая сама находит зависимости каждого исходного файла и компилирует их перед генерированием исполняемой программы.

No Make проверяет для каждого исходного файла, есть ли уже созданный файл объекта или источник новее файла объекта, и компилирует источник только в этом случае.
Тем не менее, можно выбрать вариант, чтобы восстановить весь проект. В обоих случаях с одной командой:

nomake source

или:

nomake -a source

«source» - имя исходного кода файла, содержащего функцию «main». Расширение является необязательным. Он должен включать заголовочные файлы источников, от которых он зависит, которые сами должны иметь # include для своих зависимостей. Другое ограничение заключается в том, что все исходные файлы должны иметь одно и то же расширение - «.c» или «.cpp».

No Make сначала строит список всех необходимых файлов, основываясь на включаемых командах, а затем компилирует исходники, начиная с тех, у кого меньше зависимостей, и заканчивая тем, у кого их больше всего.

Для отображения списка параметров введите только имя программы:

nomake

Настраивать

Файл nomake.ini - это простой текстовый файл, содержащий список параметров для адаптации nomake к компилятору и проекту:

Пример:

compiler=@cl.exe /nologo /O2 /c /D "_UNIX" /Ip:\antlr-2.7.7\lib\cpp\antlr\ /Ip:\antlr-2.7.7\lib\cpp\  /EHsc  
linker=@link.exe /nologo /OUT:ccw.exe
extension= .obj
libs=antlr.a

Загрузка

Download No Make

Исходный код включен. Лицензия: Apache 2.0

Работает с Visual C в Windows по умолчанию.

Читайте также: