Make - Linux Command - Unix команда

make - GNU направи алатка за одржување на групи на програми

Синопсис

направи [ -f makefile ] [опција] ... цел ...

Предупредување

Оваа страница е извадок од документацијата за создавање на ГНУ. Се ажурира само повремено затоа што проектот GNU не користи nroff. За комплетна, актуелна документација, погледнете во информативната датотека make.info која е направена од изворната датотека Texinfo make.texinfo .

Опис

Целта на алатката за правење е да се утврди автоматски кои делови од една голема програма треба да се прекомпајлираат и да ги издадат командите за да ги прекомпајлираат. Прирачникот ја опишува имплементацијата на ГНУ на марката , која ја напишаа Ричард Сталман и Роланд Мекграт. Нашите примери покажуваат програми C, бидејќи тие се најчести, но можете да го користите со било кој програмски јазик чиј компајлер може да се стартува со командна команда. Всушност, марката не е ограничена само на програми. Можете да го користите за да ја опишете секоја задача каде што некои датотеки мора да се ажурираат автоматски од други, секогаш кога другите ќе се променат.

За да се подготвите за употреба, мора да напишете датотека наречена makefile која ги опишува односите меѓу датотеките во вашата програма и ги наведува командите за ажурирање на секоја датотека. Во програмата, вообичаено, извршната датотека се ажурира од објектните датотеки, кои се прават од компилирање на изворни датотеки.

Откако постои соодветен makefile, секогаш кога ќе промените некои изворни датотеки, оваа едноставна команда на командата:

направи

доволно е да ги изврши сите потребни прекомпилации. Програмата за правење ја користи база на податоци на makefile и последните модификациони времиња на датотеките за да одлучат кои од датотеките треба да се ажурираат. За секоја од овие датотеки, ги издава командите запишани во базата на податоци.

изврши команди во makefile за ажурирање на едно или повеќе целни имиња , каде што името е типично програма. Ако не постои опција -f , ќе направите ќе ги бараат makefiles GNUmakefile , makefile и Makefile , по тој редослед.

Обично треба да го повикате вашиот makefile или makefile или Makefile . (Препорачуваме Makefile бидејќи се појавува истакната близина на почетокот на листата на директориуми, во близина на други важни фајлови, како што се README .) Првото име проверено, GNUmakefile , не се препорачува за повеќето makefiles. Треба да го користите ова име ако имате makefile што е специфично за ГНУ марка и нема да биде разбрано од други верзии на правење . Ако makefile е `- ', се чита стандардниот влез.

направи надградби целна, ако тоа зависи од предуслов додадени фајлови кои биле изменети од последната цел на целта или ако целта не постои.

ОПЦИИ

-m

Овие опции се игнорираат за компатибилност со другите верзии на make .

-C реж

Променете го директориумот на директориумот пред да ги прочитате makefiles или да направите нешто друго. Ако се специфицирани повеќе- C опции, секој се толкува во однос на претходниот: -C / C итн е еквивалентен на -C / etc. Ова обично се користи со рекурзивни повици на make .

-d

Печати информации за дебагирање, покрај нормалната обработка. Информациите за дебагирање велат кои датотеки се разгледуваат за преработка, кои се датотеки-пати се споредуваат и со кои резултати, кои датотеки всушност треба да се преработи, кои имплицитни правила се разгледуваат и кои се применуваат --- сè интересно за тоа како одлучи што да се прави.

Дава променливи земени од приоритет на животната средина над променливите од makefiles.

-f датотека

Користете ја датотеката како makefile.

-i

Игнорирај ги сите грешки во командите што се извршуваат за да ги преправите датотеките.

-Јас сум

Одредува директориум за директориуми за да пребарувате за вклучени makefiles. Ако се користат неколку -I опции за одредување на неколку директориуми, директориумите се пребаруваат по одредениот редослед. За разлика од аргументите за други знамиња на марки , директориумите дадени со -I- знамиња можат да дојдат директно по знамето: dir е дозволено, како и -I dir. Оваа синтакса е дозволена за компатибилност со знакот -II на препроцесорот.

работни места

Го одредува бројот на работни места (команди) кои истовремено да работат. Доколку има повеќе од една -j опција, последната е ефективна. Доколку опцијата -j е дадена без аргумент, маркирањето нема да го ограничи бројот на работни задачи кои можат да работат истовремено.

-k

Продолжи колку што е можно по грешка. Додека целта што не успеа, а оние кои зависат од неа, не може да се преправат, другите зависности од овие цели можат да се обработат истовремено.

-l

оптоварување

Одредува дека не треба да се стартуваат нови работни места (команди) ако има други работи што работат, а оптоварувањето е најмалку оптоварување (број на подвижна запирка). Без аргумент, го отстранува претходното ограничување за оптоварување.

-n

Печатете ги командите што ќе бидат извршени, но не ги извршувајте.

датотека

Не преправајте ја датотеката со датотеки, дури и ако е постара од нејзините зависности, и не преправајте ништо поради промените во датотеката . Во суштина датотеката се третира како многу стара и нејзините правила се игнорираат.

-p

Печатете ја базата на податоци (правила и променливи вредности) што резултира од читање на makefiles; потоа изврши како и обично или како што е поинаку наведено. Ова исто така ги отпечатоци информациите за верзијата дадени од -v прекинувачот (видете подолу). За да ја испечатите базата на податоци без да се обидувате да ги преправите сите датотеки, користете make -p -f / dev / null.

-q

`` Прашање на владата ''. Не извршувајте никакви команди, ниту печатете ништо; само вратете го статусот за излез кој е нула ако наведените цели се веќе актуелни, инаку не е поинаку.

-r

Елиминирање на употребата на вградените имплицитни правила. Исто така ја исчистите стандардната листа на суфикси за правилата на суфиксот.

Тивка операција; не печати ги командите како што се извршуваат.

-S

Откажете го ефектот од опцијата -k . Ова никогаш не е потребно, освен во рекурзивен начин каде- k може да биде наследен од највисокото ниво преку MAKEFLAGS или ако поставите -k во MAKEFLAGS во вашата околина.

Датотеки со допир (означете ги ажурирани без навистина да ги менувате) наместо да ги извршуваат нивните команди. Ова се користи за да се преправаме дека командите биле направени, со цел да ги измамат идните повици за создавање .

-v

Печатете ја верзијата на програмата за правење плус авторски права, листа на автори и известување дека нема гаранција.

-w

Печати порака која го содржи работниот директориум пред и по друга обработка. Ова може да биде корисно за следење на грешките од комплицирани гнезда на рекурзивни команди.

-W датотека

Се претпостави дека целната датотека е само изменета. Кога се користи со знамето -n , ова ви покажува што ќе се случи ако ја модифицирате таа датотека. Без- n , речиси е ист како да се извршува командата за допир на дадената датотека пред да се изврши производството , освен што времето на модификација се менува само во имагинацијата на марката .