Направи ctruktura Makefile, mainloop

направи - помощна програма за автоматично изграждане на програми. Тя ви позволява да следите промените в изходния код на програмата и съставяне на целия проект е не само тези файлове, които са се променили или тези, които зависят от промените. За големи проекти, това дава значително спестяване на време.

В тази статия ще се опитам да ви кажа как да се създаде Makefile.

Правилата за неизпълнение изграждане се четат от файл с име Makefile.

Makefile структура може да бъде представена както следва:

Но обикновено се използва по-сложни правила, като например:

ЦЕЛ - това е това, което получаваме в резултат на. Това може да е файл, директория или просто абстрактен GOAL няма връзка с който и да е обект на твърдия ви диск. След името целевата предхожда от дебелото черво. Когато стартирате направи без аргументи следват първото правило е намерен. За да извършите друго правило е да се уточни командата грим

Зависимост - е нещо, от което зависи нашата цел. Те могат да бъдат файлове, директории или други цели. Уверете се сравнява цели е датата и часът на климата и целите, които имат за цел зависи. Ако обектите, на които целта е променено по-късно от установения вратата, ще се извършва действието. Законът също така се прави, ако целта не е името на файл или директория.

ДЕЙСТВИЕ - набор от команди, за да бъде изпълнена. Отборите трябва да бъдат поставени знак за табулация. Ако разликата е съобщение за грешка, ще бъдат показани по време на компилация ще бъде въведена вместо характер на раздела:

test.elf: test.c ССЗ test.c -o test.elf

Пример абстрактно цел:

всички: test.elf test.elf: test1.o test2.o ССЗ -o test.elf test1.o test2.o test1.o test1.c ССЗ -C test1.c -o test1.o test2.o test2.c ССЗ -C test2.c -o test2.o

Помислете за последния пример:
Първо извърши всичко това, защото Той се намира в началото на Makefile. Всичко зависи от test.elf и файл или директория с името на всичко, което има, винаги ще бъде проверка с името на test.elf към вратата.

test.elf зависи test1.o и test2.o, за тази цел test1.o първо се изпитва след test2.o

При проверка цел test1.o сравнява датата и часа и test1.o промени test1.c файлове. Ако test1.o файл не съществува или test1.c файла е модифициран по-късно от test1.o командата ще се извършва ССЗ -C test1.c -o test1.o.

Подобно цел test2.o бъде проверена.

След това сравнява датата и часа се променя на файлове и test.elf test1.o test2.o файлове. Ако ССЗ -o test.elf test1.o test2.o ще бъде изпълнена test1.o test2.o или по-нова след командата

Така проследява промените в файлове и test1.s test2.c.