2013-08-27 1 views
1

В настоящее время я изучаю c через несколько разных источников, один из которых изучает C Жесткий путь PDF и Cprogramming.com для дополнительного кредита, который он говорит, чтобы использовать все: в Makefile. В настоящее время я использую Kali Linux, vim для моего редактора, и до сих пор мой Makefile выглядит так.При написании Makefile как это все: используется в нем

CFLAGS=-Wall -g 

clean: "this is on the next line with a Tab in--->" 
    rm -f ex1 

Я просто пытаюсь понять синтаксис и должен был поставить все: и как добавить к нему. он говорит добавить мой следующий проект ex3 к all: и clean в мой Makefile, если кто-то может объяснить это немного лучше, я был бы очень благодарен, поскольку я не хочу прыгать вперед, не понимая при этом дополнительного кредита.

Если вам нужна контрольная точка, я был на третьем уроке LearnCTheHardWay. Я только начинаю с C с использованием Linux. Спасибо за ваше время и любые ваши ответы.

+4

'all' имеет нет особого значения. То же самое касается 'clean'. make будет использовать первую цель, которую он видит, если вы не укажете иное. Вы должны прочитать документы, все ответы есть. – idoby

+1

Чтение документов может показаться страшным, но это правильно. Или начните с учебника. Синтаксис make - это целый язык и не может быть просто объяснен в ответе SE. – Vorac

+0

@busy_wait Вы должны сделать ответ. Я бы поднял его. – zigg

ответ

1

Я бы рекомендовал вам просто создавать свои программы из командной строки. Это не должно быть проблемой, пока команда сборки не станет более двух строк.

В этот момент вы будете (1) достаточно расстроены и (2) достаточно осведомлены о процессе компиляции (предварительная обработка, компиляция, сборка, компоновка, удаление), чтобы узнать о make-файлах.

Вы можете просматривать онлайн-учебники, просматривать документацию gnu make и экспериментировать в своих файлах.

Оттуда вы можете узнать о системах сборки, таких как autotools и Cmake, возможно, через пару лет в будущем.

+0

Мой ответ был первоначально написан в духе Programmers.SE – Vorac

+1

Шаг между чистой командной строкой и makefile - это пакетный/shell-файл для сборки –

6

all не имеет особого значения. То же самое касается clean.

make будет использовать первую цель, которую он видит, если вы не укажете иначе через вызов командной строки.

Настоятельно рекомендуется прочитать documentation, особенно учитывая, что документы GNU оформлены достаточно хорошо и работают как часть-учебник-часть-ссылка.

0

В макияжем файле формата, как это,

<tag>: <dependency1> <dependency2>.... 
    $CC <dependency1> <dependency2>.... 

<dependency1>: <dependencya> <dependencyb>.... 
    $CC -c <dependencya> <dependencyb>.... 

Так в основном для всех: у вас есть добавить в зависимые пакеты * .o файлы, для * .o подать dependenc

Смежные вопросы