Fari - Linuksa Komando - Unikso Komando

fari - GNU faras utilecon por subteni grupojn de programoj

Sinopsis

fari [ -f makefile ] [eblo] ... celo ...

Averto

Ĉi tiu paĝo estas ekstrakto de la dokumentado de GNU-aĵo. Ĝi estas ĝisdatigita nur foje ĉar la GNU-projekto ne uzas nroff. Por kompleta, aktuala dokumentado, aludu al la dosiero-dosiero make.info, kiu estas farita el la fonta dosiero Texinfo make.texinfo .

Priskribo

La celo uzi la utilecon estas determini aŭtomate, ke pecoj de granda programo devas esti rekompencitaj kaj elsendu la ordonojn por repagi ilin. La manlibro priskribas la efektivigon de GNU-realigo, kiu estis skribita fare de Richard Stallman kaj Roland McGrath. Niaj ekzemploj montras C-programojn ĉar ili estas plej oftaj, sed vi povas uzi ĝin per iu ajn lingva programado, kies kompililo povas esti kurita per ŝela komando. Fakte, fari ne limigas al programoj. Vi povas uzi ĝin por priskribi ajnan taskon kie iuj dosieroj devas esti ĝisdatigitaj aŭtomate de aliaj kiam la aliaj ŝanĝiĝas.

Por prepari uzi ĝin , vi devas skribi dosieron nomitan la kosfilo, kiu priskribas la rilatojn inter dosieroj en via programo, kaj la statoj ordonas por ĝisdatigi ĉiun dosieron. En programo, tipe la ejektivebla dosiero ĝisdatiĝas de objekto-dosieroj, kiuj laŭvice kreas fontajn dosierojn.

Fojo ekzistas taŭga dosierujo, ĉiufoje kiam vi ŝanĝas iujn fontajn dosierojn, ĉi tiu simpla ŝelo-komando:

fari

Sufiĉas plenumi ĉiujn necesajn rekompencojn. La programprogramo uzas la dosierujon de la dosierujo kaj la lastaj modifaj tempoj de la dosieroj por decidi kiu el la dosieroj devas esti ĝisdatigita. Por ĉiu el tiuj dosieroj, ĝi elsendas la komandojn registritajn en la datumbazo.

fari ekzekutojn de komandoj en la dosierujo por ĝisdatigi unu aŭ pli celajn nomojn , kie nomo estas tipe programo. Se neniu -f- opcio estas ĉeestanta, faru serĉojn pri la dosierujoj GNUmakefile , makefile kaj Makefile en tiu ordo.

Kutime vi devus nomi vian makefilon aŭ konektiMakefile . (Ni rekomendas Makefile ĉar ĝi aperas elstare proksime de la komenco de dosierujo, ĝuste proksime de aliaj gravaj dosieroj kiel README .) La unua nomo kontrolita, GNUmakefile , ne estas rekomendinda por plej multaj komplikaĵoj. Vi devas uzi ĉi tiun nomon, se vi havas dosierujon, kiu estas specifa por GNU-a, kaj ne komprenos aliaj versioj. Se makefile estas '-', la norma enigo estas legata.

faru ĝisdatigojn celon, se ĝi dependas de kondiĉoj de kondiĉoj, kiuj estis modifitaj ekde la celo estis laste modifita, aŭ se la celo ne ekzistas.

Obloj

-b

-m

Ĉi tiuj elektoj estas ignoritaj por kongruo kun aliaj versioj de fari .

-C dir

Ŝanĝu al dosierujo diru antaŭ legi la fabrikojn aŭ fari ion alian. Se pluraj -C- ebloj estas specifitaj, ĉiu estas interpretita rilate al la antaŭa: -C / -C ktp samvaloras al -C / ktp. Ĉi tio estas kutime uzata kun rekursiaj alvokoj.

-d

Printi elpurigan informon krom normala prilaborado. La eksplodaj informoj diras, kiujn dosieroj konsideras por remakado, kies arkivoj estas komparitaj kaj kun kiaj rezultoj, kiujn dosieroj vere devas esti remadeblaj, kiuj implicitaj reguloj estas konsiderata kaj kiuj estas aplikitaj, ĉio interesa pri kiel decidas kion fari.

-e

Donu (variabloj, variablas) el la antaŭa medio pri variabloj de konfilejoj.

-f- dosiero

Uzu dosieron kiel makefile.

-i

Ignori ĉiujn erarojn en komandoj ekzekutitaj por remake dosierojn.

-I dir

Specifas dosierujon dir serĉi inkluditajn dosierujojn. Se pluraj -I- ebloj estas uzataj por specifi plurajn dosierujojn, la dosierujoj estas serĉitaj en la ordo specifita. Kontraste kun la argumentoj al aliaj flagoj de fabrikado , adresoj donitaj per -I flagoj povas veni rekte post la flago: -I dir estas permesita, same kiel -I dir. Ĉi tiu sintakso estas permesata por kongruo kun la antaŭprocesilo de la C -I- flago.

-j laborpostenoj

Specifas la nombro da laborpostenoj (komandoj) por kuri samtempe. Se estas pli ol unu -j opcio, la lasta estas efika. Se la -j- opcio estas donita sen argumento, faros ne limigi la nombro da laborpostenoj, kiuj povas kuri samtempe.

-k

Daŭrigu tiom multe ebla post eraro. Dum la celo, kiu malsukcesis, kaj tiuj, kiuj dependas de ĝi, ne povas esti remadeblaj, la aliaj dependecoj de ĉi tiuj celoj povas esti procesitaj tute samaj.

-l

-l ŝarĝo

Indikas, ke ne novaj funkcioj (komandoj) devas esti komencitaj, se aliaj laborpostenoj kuŝas kaj la ŝarĝa averaĝa almenaŭ ŝarĝas (flospunkta nombro). Sen argumento, forigas antaŭan ŝarĝan limon.

-n

Printu la komandojn, kiuj estus ekzekutitaj, sed ne ekzekutu ilin.

-a dosiero

Ne ripetu la dosieron- dosieron eĉ se ĝi estas pli malnova ol ĝiaj dependajxoj, kaj ne remake ion pro ŝanĝoj en dosiero . Esence la dosiero estas traktita kiel tre malnova kaj ĝiaj reguloj estas ignoritaj.

-p

Printu la datumbazon (reguloj kaj variaj valoroj), kiuj rezultas de legi la komputilojn; tiam ekzekuti kiel kutime aŭ kiel alie specifita. Ĉi tio ankaŭ presas la version-informon donita per la -vŝaltilo (vidu sube). Por presi la datumbazon sen provi restarigi ajnajn dosierojn, uzu make -p -f / dev / null.

-q

`` Demando-modo ''. Ne kuru ajnajn ordonojn aŭ presas ion; simple redoni eliron, kiu estas nulo se la specifaj celoj jam estas ĝisdataj, sed ne alie.

-r

Forigi uzon de la enkonstruitaj implicaj reguloj. Ankaŭ liberigu la defaŭltan liston de sufiksoj por sufiksaj reguloj.

-s

Silenta operacio; ne presas la komandojn, kiel ili estas ekzekutitaj.

-S

Nuligi la efikon de la -k- opcio. Ĉi tio neniam necesas, krom rekursie fari, kie -k povus esti heredita de la supro-nivelo per MAKEFLAGS aŭ se vi starigas -k en MAKEFLAGS en via medio.

-t

Tuŝu dosierojn (marku ilin ĝis nun sen ŝanĝi ilin) ​​anstataŭ plenumi iliajn ordonojn. Ĉi tio kutimas ŝajnigi, ke la ordonoj estis faritaj, por malsagxigi estontajn invokojn.

-v

Printu la version de la programo pli kopirajto, listo de aŭtoroj kaj avizo, ke ne ekzistas garantio.

-w

Presi mesaĝon enhavantan la laborantan dosierujon antaŭ kaj post alia prilaborado. Ĉi tio povas esti utila por rakado de eraroj de komplikaj nestoj de rekursie faru komandojn.

-W- dosiero

Pretendu, ke la celo dosiero ĵus modifiĝis. Kiam vi uzas kun la n- flago, tio montras al vi, kio okazos, se vi modifas tiun dosieron. Sen -n , ĝi estas preskaŭ same kiel funkciigi komandan komandon sur la donita dosiero antaŭ ol ekzekuti, krom se la tempo de modifo ŝanĝiĝas nur en la imagado.