Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Администрирование *NIX систем > Что делать с исходникоми и что такое make? |
Автор: igmyrj 21.5.2006, 17:58 |
Извините за глупый вопрос, просто недавно линукс утановил. Мне надо установить драйвер, который пришел ко мне в исходниках (там .с и .h файлы еще есть Makefile) не пойму как их откомпилировать. Команда make пишет: "Makefile:27: *** Linux kernel source not found. Останов.". Что делать? |
Автор: bilbobagginz 21.5.2006, 18:35 |
привет. совет, в общем: Когда устанавливаешь из исходника следует ознакомиться ( т.е. внимательно изучить файлы README,INSTALL или html-ную документацию внутри главной папки программы. Там указываются точные инструкции, и что требуется для установки программы, вкл. версии и т.д., что оч. важно. в частности: когда устанавливаешь драйвер, он собирается ( т.е. компилируется ) с привязкой к версии ядра. что такое ядро почитай в интернете, но для того, чтобы собрать драйвер обычно нужны файлы "заголовки" твоей версии ядра. обычно для этого нужно установить пакет ПО с названием linux-headers/kernel-headers. пока. |
Автор: igmyrj 21.5.2006, 19:06 |
Ага, понятно. Спасибо! А значит make компилирует эти исходники? |
Автор: bilbobagginz 22.5.2006, 00:54 |
нет. make это такая "кухарка". она получает рецепт в форме Makefile. а компилирует их gcc/g++, или другой компилятор. пока. |
Автор: igmyrj 22.5.2006, 15:23 |
Все равно не понимаю, что именно делает make? |
Автор: bilbobagginz 22.5.2006, 16:04 |
программы пишутся человеком, обычно ( не всегда ) в форме текста, состоящего из инструкций на языке программирования. этот язык понятен человеку, а компутер его не понимает. для того чтобы программу мог запустить компутер, нужно её перевести из человеку понятного в "Машинный код", который компутер может исполнять. один из способов - превратить всю программу сразу в один кусок информации написанной на языке машины ( компутера ). Этот процесс в общем называется компиляция. для компиляции (сборки) программы написаной в 1 файле на языке Cи, нужно запустить команду: gcc program.c -o program.exe если это просто програмка из 1-2-3 файлов - все пучком - не страшно. когда програмка состоит уже из файлов так 10-20, и ты её пишешь, то собирать каждый раз 20 файлов - в лом. и вообще если только 1 файл изменился, то на самом деле не нужно всё перекомпилировать сызнова. тут приходит make. он как раз это и делает: он смотрит на даты последнего доступа - и решает: если файл новее объекта сборки, то объект сборки подлежит перекомпиляции. т.е. make - это такой повар, который приготавливает программу по рецепту написанновму в файле Makefile |
Автор: igmyrj 25.5.2006, 12:41 |
Понятно. Ну про компиляцию я знал, я программировать умею=), а за остальное спасибо! |