Чтобы действительно получить make-файл, вам также необходимо хорошо понимать командные строки для всех компонентов инструментальной цепочки вашего проекта. Такие параметры, как -I
и -L
, не понимаются самим make. Скорее, make пытается создать командную строку, которая запустит инструмент для преобразования файла предварительных требований в целевой файл.
Часто это исходный файл C или C ++, который компилируется в объектный файл и в конечном итоге связывается для получения исполняемого файла.
В этом случае вам необходимо ознакомиться с руководством для вашего компилятора, и особенно с битами, относящимися к параметрам командной строки, которые он понимает.
Все эти общие параметры довольно стандартны для компиляторов и компоновщиков. -I
добавляет каталог в список мест, в которых выполняется поиск компилятором для файла с именем в строке #include
, а -L
добавляет каталог в список мест, в которых выполняется поиск компоновщиком для библиотеки, названной с помощью -l
опция.
Суть в том, что «язык» make-файла представляет собой комбинацию синтаксиса самого make-файла, вашей оболочки, о которой известно, что она делает (обычно /bin/sh
или что-то подобное), общих команд оболочки (таких как * 1016). *, cp
, install
и т. Д.), А также команды, специфичные для вашего компилятора и компоновщика (например, набрав gcc -v --help
в командной строке, вы получите почти полный (и очень длинный) список параметров, понятных для gcc как одна отправная точка).