EnglezăFrancezăSpaniolă

Favicon OnWorks

fmake - Online în cloud

Rulați fmake în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda fmake care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


face — menține dependențele programului

REZUMAT


face [-ABPSXeiknpqrstv] [-C director] [-D variabil] [-d steaguri] [-E variabil] [-f makefile]
[-I director] [-j max_jobs] [-m director] [-V variabil] [-x warning_options]
[variabil=valoare] [ţintă ...]

DESCRIERE


face utility este un program conceput pentru a simplifica întreținerea altor programe. Este
input este o listă de specificații care descriu relațiile de dependență dintre generație
de fișiere și programe.

În primul rând, lista inițială de specificații va fi citită din fișierul make sistem,
sys.mk, cu excepția cazului în care este inhibat cu -r opțiune. Standardul sys.mk așa cum este livrat cu FreeBSD
de asemenea manere face.conf(5), calea implicită către care poate fi modificată prin intermediul face variabil
__MAKE_CONF.

Apoi primul dintre BSDmakefile, makefile și makefile care poate fi găsit în curent
director, director de obiecte (vezi .OBJDIR), sau calea de căutare (vezi -I opțiunea) va fi citită
pentru lista principală a specificațiilor de dependență. Un alt makefile sau o listă a acestora poate fi
furnizate prin intermediul -f Opțiuni). În cele din urmă, dacă fișierul .depinde poate fi găsit în oricare dintre
locațiile menționate mai sus, se va citi și (vezi mkdep(1)).

Cand face caută un makefile, numele acestuia are prioritate față de locația sa. Pentru
instanță, BSDmakefile în directorul obiect va fi favorizat makefile în curent
director.

Opțiunile sunt următoarele:

-A Faceți erorile de arhivă să nu fie fatale, provocând face pentru a sări peste restul sau toate
arhivați și continuați după tipărirea unui mesaj.

-B Încercați să fiți compatibil cu înapoi executând un singur shell per comandă și prin
executând comenzile pentru a face sursele unei linii de dependență în secvență. Acest
este activat implicit, cu excepția cazului în care -j este folosit.

-C director
Schimba in director înainte de a citi fișierele make sau de a face orice altceva. Dacă
multiplu -C sunt specificate opțiuni, fiecare este interpretată în raport cu cea anterioară:
-C / -C etc este echivalent cu -C / Etc.

-D variabil
Defini variabil să fie 1, în context global.

-d steaguri
Activați depanarea și specificați ce porțiuni din face sunt pentru a imprima depanarea
informație. Argument steaguri este una sau mai multe dintre următoarele:

A Tipăriți toate informațiile posibile de depanare; echivalent cu specificarea tuturor
steagurile de depanare.

a Tipăriți informații de depanare despre căutarea în arhivă și stocarea în cache.

c Tipăriți informații de depanare despre evaluarea condiționată.

d Tipăriți informații de depanare despre căutarea în director și stocarea în cache.

f Tipăriți informații de depanare despre execuția buclelor for.

g1 Imprimați graficul de intrare înainte de a face orice.

g2 Tipăriți graficul de intrare după ce ați făcut totul sau înainte de a ieși din eroare.

j Imprimați informații de depanare despre rularea mai multor shell-uri.

l Imprimați comenzile în Makefiles, indiferent dacă sunt sau nu prefixate
de @ sau alte steaguri „liniștite”. Cunoscut și sub denumirea de comportament „tagoros”.

m Imprimați informații de depanare despre crearea țintelor, inclusiv modificarea
datele.

s Tipăriți informații de depanare despre regulile de transformare a sufixelor.

t Tipăriți informații de depanare despre întreținerea listei țintă.

v Tipăriți informații de depanare despre atribuirea variabilelor.

-E variabil
Specificați o variabilă a cărei valoare de mediu (dacă există) va suprascrie atribuirile de macrocomandă
în cadrul makefiles.

-e Specificați că valorile mediului suprascriu atribuirile de macrocomandă din makefiles pentru toți
variabile.

-f makefile
Specificați un makefile de citit în locul celui implicit. Dacă makefile nu este un
nume de cale absolut, face îl va căuta așa cum este descris mai sus. În cazul în care makefile is
"-', intrarea standard este citită. Multiplu -f pot fi furnizate opțiuni și fișierele make
va fi citit în această ordine. Spre deosebire de celelalte opțiuni de linie de comandă, -f nu este nici una, nici alta
stocat in .FACEȚI steaguri nici împins la sub-fake prin MAKEFLAGS. Vezi mai jos pentru mai multe
detalii despre aceste variabile.

-I director
Specificați un director în care să căutați fișierele make și fișierele make incluse.
Multiplu -I opțiunile pot fi specificate pentru a forma o cale de căutare. Filefile de sistem
director (sau directoare, vezi -m opțiunea) este atașată automat la coadă
a acestui drum.

-i Ignorați ieșirea diferită de zero a comenzilor shell din makefile. Echivalent cu precizarea
"-' înainte de fiecare linie de comandă din makefile.

-j max_jobs
Specificați numărul maxim de locuri de muncă care face poate rula la un moment dat.
Dezactivează modul de compatibilitate, cu excepția cazului în care -B este de asemenea specificat steag.

-k Continuați procesarea după ce se întâlnesc erori, dar numai pe acele ținte care o fac
nu depinde de ținta a cărei creare a cauzat eroarea.

-m director
Specificați un director în care să căutați fișierele make și makefile de sistem
incluse prin stilul <...>. Multiplu -m pot fi specificate opțiuni pentru a forma o căutare
cale. Această cale va suprascrie calea implicită de includere a sistemului,
/usr/share/mk-freebsd. Calea de includere a sistemului va fi întotdeauna atașată la
cale de căutare utilizată pentru incluziuni în stil „...” și căutări makefile (vezi -I
opțiune).

Dacă un nume de fișier sau director în -m argument (sau mediul MAKESYSPATH
variabilă) începe cu șirul „.../” apoi face va căuta fișierul specificat
sau directorul numit în partea rămasă a șirului de argumente. Începe căutarea
cu directorul curent al Makefile și apoi lucrează în sus către rădăcina
sistemul de fișiere. Dacă căutarea are succes, directorul rezultat se înlocuiește
specificația „.../” din -m argument. Dacă este utilizată, această caracteristică permite face la
Căutați cu ușurință în arborele sursă curent fișiere sys.mk personalizate (de exemplu, folosind
„.../mk/sys.mk” ca argument). Rețineți că a -C care sunt mai devreme la comandă
linia afectează unde -m „.../” caută.

-n Afișează comenzile care ar fi fost executate, dar nu se execută efectiv
Le.

-P În schimb, strângeți rezultatul unei anumite lucrări și afișați-o numai când lucrarea se termină
de amestecare a rezultatelor lucrărilor paralele. Această opțiune nu are efect decât dacă -j
este folosit și el.

-p Tipăriți doar graficul de intrare, fără a executa nicio comandă. Ieșirea este aceeași ca
-d g1. Când este combinat cu -f / Dev / null, doar regulile încorporate ale face sunt
afișat.

-Q Fii mai liniștit. Pentru mai multe lucrări, acest lucru va face ca bannerele de fișiere să nu fie
generat.

-q Nu executați nicio comandă, dar ieșiți din 0 dacă țintele specificate sunt actualizate și
1, altfel.

-r Nu procesați fișierul make de sistem.

-S Opriți procesarea când se întâlnește o eroare. Comportament implicit. Acest lucru este necesar pentru a
nega -k opțiune în timpul build-urilor recursive.

-s Nu repetați nicio comandă pe măsură ce sunt executate. Echivalent cu specificarea „@' inainte de
fiecare linie de comandă din makefile.

-t În loc să reconstruiți o țintă așa cum este specificat în fișierul make, creați-o sau actualizați
timpul de modificare a acestuia pentru a-l face să pară actualizat.

-V variabil
faceideea lui despre valoarea variabil, în context global. Nu construi niciuna
tinte. Pot fi specificate mai multe instanțe ale acestei opțiuni; variabilele vor fi
tipărită câte una pe linie, cu o linie goală pentru fiecare variabilă nulă sau nedefinită. Dacă
variabil conține un „$', atunci valoarea va fi extinsă înainte de imprimare.

-v Fii foarte verbos. Imprimați orice informații suplimentare.

-X Când utilizați -V opțiunea de a imprima valorile variabilelor, nu se extinde recursiv
valorile.

variabil=valoare
Setați valoarea variabilei variabil la valoare.

-x warning_options
Specificați opțiunile de avertizare extinse. Această opțiune poate fi specificată de mai multe ori. A
warning_option poate fi prefixat cu „nu”, caz în care avertizarea este dezactivată.
Opțiunile disponibile în prezent sunt:

dirsintaxă
Avertizați dacă ceva, cu excepția spațiilor libere și a comentariilor, urmează un .endif or .altfel
directivă.

Consultați și .A AVERTIZA țintă specială.

Există șapte tipuri diferite de linii într-un makefile: specificații de dependență de fișiere,
comenzi shell, atribuiri de variabile, instrucțiuni includ, directive condiționale, bucle for,
și comentarii.

În general, liniile pot fi continuate de la o linie la alta prin încheierea lor cu o bară oblică inversă
('\'). Caracterul de linie nouă și spațiul alb inițial de pe următoarea linie sunt
comprimat într-un singur spațiu.

FILE DEPENDENŢĂ SPECIFICAȚII


Liniile de dependență constau din una sau mai multe ținte, un operator și zero sau mai multe surse.
Acest lucru creează o relație în care țintele „depind” de surse și sunt de obicei
creat din ele. Relația exactă dintre țintă și sursă este determinată
de către operatorul care le separă. Cei trei operatori sunt după cum urmează:

: O țintă este considerată depășită dacă timpul său de modificare este mai mic decât cel al oricărei
a surselor sale. Sursele pentru o țintă se acumulează peste linii de dependență atunci când aceasta
este utilizat operator. Ținta este eliminată dacă face este întreruptă.

! Țintele sunt întotdeauna recreate, dar nu până când toate sursele au fost examinate și re-create.
creat după cum este necesar. Sursele pentru o țintă se acumulează peste linii de dependență atunci când aceasta
este utilizat operator. Ținta este eliminată dacă face este întreruptă.

:: Dacă nu sunt specificate surse, ținta este întotdeauna re-creată. În caz contrar, o țintă este
considerată depășită dacă oricare dintre sursele sale a fost modificată mai recent decât
ţintă. Sursele pentru o țintă nu se acumulează peste liniile de dependență atunci când aceasta
este utilizat operator. Ținta nu va fi eliminată dacă face este întreruptă.

Țintele și sursele pot conține expresiile wildcard shell „?”, „*”, „[]” și „{}”. The
expresiile „?”, „*” și „[]” pot fi utilizate numai ca parte a componentei finale a țintei
sau sursă și trebuie utilizat pentru a descrie fișierele existente. Expresia „{}” nu este necesar
să fie utilizate în mod necesar pentru a descrie fișierele existente. Extinderea este în ordinea directorului, nu
alfabetic, așa cum se face în coajă.

COAJĂ COMANDE


Fiecare țintă poate avea asociată cu ea o serie de comenzi shell, utilizate în mod normal pentru a crea
ținta. Fiecare dintre comenzile din acest script trebuie sa fi precedat de o filă. În timp ce oricare
ținta poate apărea pe o linie de dependență, doar una dintre aceste dependențe poate fi urmată de a
scriptul de creare, cu excepția cazului în care „::este utilizat operatorul.

Dacă primele caractere ale liniei de comandă sunt „@","-„, și/sau „+', comanda este tratată
special. A '@' face ca comanda să nu fie ecou înainte de a fi executată. A '-' cauze
orice stare de ieșire diferită de zero a liniei de comandă să fie ignorată. A '+' determină comanda să fie
executat chiar dacă -n este specificat pe linia de comandă.

VARIABIL CESII


Variabile în face sunt mult ca variabilele din shell și, prin tradiție, constau din toate
litere mari. Cei cinci operatori care pot fi utilizați pentru a atribui valori variabilelor sunt
după cum urmează:

= Atribuiți valoarea variabilei. Orice valoare anterioară este suprascrisă.

+= Adăugați valoarea la valoarea curentă a variabilei.

?= Atribuiți valoarea variabilei dacă nu este deja definită.

:= Atribuire cu extindere, adică extindeți valoarea înainte de a o atribui variabilei.
În mod normal, extinderea nu se face până când variabila nu este referită.

!= Extindeți valoarea și transmiteți-o shell-ului pentru execuție și atribuiți rezultatul
variabil. Orice linii noi din rezultat sunt înlocuite cu spații.

Orice spațiu alb înainte de cel alocat valoare este eliminat; dacă valoarea este adăugată, a
se introduce un singur spațiu între conținutul anterior al variabilei și cel anexat
valoare.

Variabilele sunt extinse prin înconjurarea numelui variabilei fie cu acolade („{}”), fie
paranteze ('()') și precedându-l cu un semn dolar ('$'). Dacă numele variabilei conține
doar o singură literă, acoladele sau parantezele din jur nu sunt necesare. Aceasta mai scurtă
forma nu este recomandată.

Substituția variabilei are loc în două momente distincte, în funcție de locul unde se află variabila
folosit. Variabilele din liniile de dependență sunt extinse pe măsură ce linia este citită. Variabile în shell
comenzile sunt extinse atunci când comanda shell este executată.

Cele patru clase diferite de variabile (în ordinea creșterii priorității) sunt:

Variabile de mediu
Variabile definite ca parte a facemediul lui.

Variabile globale
Variabilele definite în fișierul make sau în fișierele make incluse.

Variabile de linie de comandă
Variabilele definite ca parte a liniei de comandă și variabilele obținute din
MAKEFLAGS variabila de mediu sau .FACEȚI steaguri țintă.

Variabile locale
Variabile care sunt definite specifice unei anumite ținte.

Dacă numele unei variabile de mediu apare într-un makefile în partea stângă a unui
alocare, o variabilă globală cu același nume este creată, iar aceasta din urmă umbră
foste conform priorităților lor relative. Mediul nu este schimbat în acest caz, și
modificarea nu este exportată în programele executate de face. Cu toate acestea, o variabilă de linie de comandă
înlocuiește de fapt variabila de mediu cu același nume dacă acesta din urmă există, adică
vizibile pentru programele pentru copii.

Există șapte variabile locale în face:

.ALLSRC Lista tuturor surselor pentru această țintă; de asemenea cunoscut ca si '>".

.ARHIVA Numele fișierului de arhivă; de asemenea cunoscut ca si '!".

.IMPSRC Numele/calea sursei din care ținta urmează să fie transformată (
sursă „implicite”); de asemenea cunoscut ca si '<".

.MEMBRU Numele membrului arhivei; de asemenea cunoscut ca si '%".

.OODATE Lista surselor pentru această țintă care au fost considerate învechite; de asemenea cunoscut ca si
"?".

.PREFIX Prefixul fișierului, care conține doar porțiunea de fișier, fără sufix sau
componentele directorului precedent; de asemenea cunoscut ca si '*".

.ŢINTĂ Numele țintei; de asemenea cunoscut ca si '@".

Formele mai scurte '@","!","<","%","?",">', și '*' sunt permise pentru înapoi
compatibilitate și nu sunt recomandate. Cele șase variabile@F","@D","<F","<D","*F', și
"*D' sunt permise pentru compatibilitate cu fișierele makefile AT&T System V UNIX și nu sunt
recomandată.

Patru dintre variabilele locale pot fi utilizate în surse pe linii de dependență deoarece se extind
la valoarea corespunzătoare pentru fiecare țintă de pe linie. Aceste variabile sunt .ŢINTĂ, .PREFIX,
.ARHIVA și .MEMBRU.

În plus, face stabilește sau știe despre următoarele variabile interne sau mediu
variabile:

$ Un singur semn dolar „$”, adică „$$” se extinde la un singur semn dolar.

FACE Numele care face a fost executat cu (argv[0]).

.CURDIR O cale către directorul în care face a fost executat. The face seturi de utilitate
.CURDIR la drumul canonic dat de getcwd(3).

.OBJDIR O cale către directorul în care sunt construite ținte. La pornire, face
caută un director alternativ pentru a plasa fișierele țintă. Va încerca
pentru a schimba în acest director special și va căuta în acest director
makefiles nu au fost găsite în directorul curent. Următoarele directoare sunt
incercat in ordine:

1. ${MAKEOBJDIRPREFIX}/`pwd -P`
2. ${MAKEOBJDIR}
3. obj.${MACHINĂ}
4. obj
5. /usr/obj/`pwd -P`

Primul director care face se schimbă cu succes în este utilizat. În cazul în care fie
MAKEOBJDIRPREFIX sau MAKEOBJDIR este setat în mediu dar face este incapabil
pentru a schimba în directorul corespunzător, atunci directorul curent este
folosit fără a verifica restul listei. Dacă sunt nedefinite și
face atunci nu se poate schimba în niciunul dintre cele trei directoare rămase
directorul curent este utilizat. Rețineți că MAKEOBJDIRPREFIX și MAKEOBJDIR
trebuie să fie variabile de mediu și nu trebuie activate facelinia de comandă a lui.

face seturi de utilitate .OBJDIR la drumul canonic dat de getcwd(3).

.MAKEFILE_LIST As face citește diverse makefile, inclusiv fișierele implicite și orice
obţinute din linia de comandă şi .include si .sinclude directivele, lor
numele vor fi adăugate automat la .MAKEFILE_LIST variabil. ei
sunt adăugate chiar înainte face începe să le analizeze, astfel încât numele lui
actual makefile este ultimul cuvânt din această variabilă.

MAKEFLAGS Variabila de mediu MAKEFLAGS poate conține inițial orice ar putea
fi specificat pe facelinia de comandă a lui, inclusiv -f Opțiuni). După
prelucrare, conținutul acestuia este stocat în .FACEȚI steaguri variabila globala,
deși oricare -f opțiunile sunt omise. Apoi toate opțiunile și variabile
sarcinile specificate pe facelinia de comandă a lui, cu excepția -f, sunt anexate la
il .FACEȚI steaguri variabilă.

Ori de câte ori face execută un program, setează MAKEFLAGS în programul
mediu la valoarea actuală a .FACEȚI steaguri variabilă globală. Prin urmare,
dacă MAKEFLAGS în facemediul lui conține orice -f opțiuni, nu vor fi
împins automat la programele copil. The face utilitate eficient
filtrează -f opțiuni din mediu și linia de comandă, deși acesta
transmite restul opțiunilor sale la sub-fake prin MAKEFLAGS în mod implicit.

Când treceți definiții macro și argumente de semnalizare în MAKEFLAGS
variabilele de mediu, spațiile și caracterele tabulatoare sunt citate înaintea lor
cu o bară oblică inversă. Când citiți variabila MAKEFLAGS din mediu,
toate secvențele de bară oblică inversă și una de spațiu sau tab sunt înlocuite doar cu
cel de-al doilea caracter al lor fără a provoca o ruptură de cuvânt. Orice alte apariții
de o bară oblică inversă sunt păstrate. Grupuri de spațiu necotat, tab și noua linie
caracterele provoacă ruperea cuvintelor.

.FACEȚI steaguri Inițial, această variabilă globală conține faceopțiunile curente de rulare ale lui
din mediul și linia de comandă, așa cum este descris mai sus, sub MAKEFLAGS.
Prin modificarea conținutului .FACEȚI steaguri variabila globală, makefile
poate modifica conținutul variabilei de mediu MAKEFLAGS puse la dispoziție
pentru toate programele care face execută. Aceasta include adăugarea -f Opțiuni).
Valoarea curentă a .FACEȚI steaguri este doar copiat textual la MAKEFLAGS în
mediul programelor pentru copii.

Rețineți că toate opțiunile introduse în .FACEȚI steaguri nici nu afectează curentul
instanță de face nici să apară în propria sa copie a MAKEFLAGS instantaneu.
Cu toate acestea, ele apar în variabila de mediu MAKEFLAGS a programelor
executat de face. Pe de altă parte, o atribuire directă către MAKEFLAGS
nici nu afectează instanța curentă a face nici nu se transmite la face's
copii. Compara cu .FACEȚI steaguri țintă specială de mai jos.

MFLAGS Această variabilă este furnizată pentru compatibilitate cu versiunea anterioară și conține toate elementele
opțiuni din variabila de mediu MAKEFLAGS plus orice opțiuni specificate
on facelinia de comandă a lui.

.FACE.PID Proces-id-ul de face.

.FACE.PPID Procesul-id-ul părinte al face.

.FACE.PREFIX.LUCRĂRII
If face este rulat cu -j -v apoi ieșirea pentru fiecare țintă este prefixată cu a
jeton '--- target ---' a cărui prima parte poate fi controlată prin
.FACE.PREFIX.LUCRĂRII.
De exemplu: .MAKE.JOB.PREFIX=${.newline}---${MAKE:T}[${.MAKE.PID}] ar
produce jetoane precum „---make[1234] target ---” sau
.MAKE.JOB.PREFIX=---pid[${.MAKE.PID}],ppid[${.MAKE.PPID}] ar produce
jetoane precum „---pid[56789],ppid[1234] target ---” care fac mai ușor de urmărit
gradul de paralelism atins.

.TINTE Lista țintelor face se construieste in prezent.

.INCLUSE Vedea .INCLUSE țintă specială.

.LIBS Vedea .LIBS țintă specială.

MAȘINĂRIE Numele arhitecturii mașinii face rulează, obținut de la
MACHINE variabilă de mediu, sau prin uname(3) dacă nu este definit.

MACHINE_ARCH Numele arhitecturii mașinii face a fost compilat pentru, definit la
timpul de compilare.

VPATH Makefiles le pot atribui o listă de directoare delimitată de puncte VPATH. Acestea
directoarele vor fi căutate pentru fișierele sursă de face după ce s-a terminat
parsarea tuturor makefile-urilor de intrare.

Variabil Modificatorii
Extinderea variabilei poate fi modificată pentru a selecta sau modifica fiecare cuvânt al variabilei (unde a
„cuvânt” este o secvență de caractere delimitată de spații albe). Formatul general al unei variabile
extinderea este după cum urmează:

{variabilă[:modificator[:...]]}

Fiecare modificator începe cu două puncte și unul dintre următoarele caractere speciale. Colonul
poate fi scăpat cu o bară oblică inversă („\”).

:C/model/înlocuire/[1g]
Modificați fiecare cuvânt al valorii, înlocuind fiecare potrivire din regula extinsă
expresie model (A se vedea re_format(7)) cu ed(1)-stil înlocuire șir.
În mod normal, prima apariție a modelului în fiecare cuvânt al valorii este
schimbat. Modificatorul „1” face ca substituția să se aplice la cel mult un cuvânt;
modificatorul „g” face ca substituția să se aplice la cât mai multe instanțe ale
model de căutare așa cum apar în cuvântul sau cuvintele în care se găsește. Rețineți că „1” și
„g” sunt ortogonale; primul specifică dacă mai multe cuvinte sunt potențial
afectat, acesta din urmă dacă pot avea loc substituții multiple în interiorul acesteia
fiecare cuvânt afectat.

:E Înlocuiește fiecare cuvânt din variabilă cu sufixul său.

:H Înlocuiește fiecare cuvânt din variabilă cu tot, în afară de ultima componentă.

:L Convertește variabilele în litere mici. (depreciat)

:Mmodel Selectați numai acele cuvinte care se potrivesc cu restul modificatorului. Carcasa standard
Pot fi utilizate caractere joker ('*', '?' şi '[]'). Caracterele wildcard
poate fi scăpat cu o bară oblică inversă („\”).

:Nmodel Acesta este identic cu :M, dar selectează toate cuvintele care nu se potrivesc cu restul
modificatorul.

:O Ordonați alfabetic fiecare cuvânt din variabilă.

:Q Citate fiecare meta-caracter shell din variabilă, astfel încât să poată fi transmis
în siguranță prin invocări recursive ale face.

:R Înlocuiește fiecare cuvânt din variabilă cu totul, cu excepția sufixului său.

:S/șir_vechi/șir_nou/[g]
Modificați prima apariție a șir_vechi în fiecare cuvânt al valorii variabilei,
înlocuindu-l cu șir_nou. Dacă un „g” este adăugat la ultima bară oblică a
model, toate aparițiile din fiecare cuvânt sunt înlocuite. Dacă șir_vechi începe cu a
caret ('^'), șir_vechi este ancorat la începutul fiecărui cuvânt. Dacă
șir_vechi se termină cu un semn dolar ('$'), este ancorat la sfârșitul fiecăruia
cuvânt. Interior șir_nou, un ampersand ('&') este înlocuit cu șir_vechi. Orice
caracterul poate fi folosit ca delimitator pentru părțile șirului modificator. The
caracterele de ancorare, ampersand și delimitare pot fi scăpate cu o bară oblică inversă
('\').

Expansiunea variabilă are loc în mod normal în ambele șir_vechi si
șir_nou cu singura excepție că o bară oblică inversă este utilizată pentru a preveni
extinderea unui semn dolar („$”), nu a unui semn dolar precedent, așa cum este de obicei.

:old_string=new_string
Aceasta este înlocuirea variabilă în stil AT&T System V UNIX. Trebuie să fie ultimul
modificator specificat. Dacă șir_vechi or șir_nou nu conțin modelul
personaj asortat % apoi se presupune că sunt ancorate la capătul
fiecare cuvânt, astfel încât numai sufixele sau cuvinte întregi pot fi înlocuite. In caz contrar % este
subșir de șir_vechi pentru a fi înlocuit în șir_nou.

:T Înlocuiește fiecare cuvânt din variabilă cu ultima sa componentă.

:tl Convertește variabilele în litere mici.

:tu Convertește variabilele în litere mari.

:U Convertește variabilele în litere mari. (depreciat)

:u Eliminați cuvintele duplicate adiacente (cum ar fi unic(1)).

DIRECTIVE, CONDIȚIONALE, AND PENTRU BUCURI


Directivele, condiționalele și buclele for care amintesc de limbajul de programare C sunt
prevazut in face. Toate aceste structuri sunt identificate printr-o linie care începe cu un singur punct
('.') caracter. Sunt acceptate următoarele directive:

.include

.include "fişier"
Includeți makefile-ul specificat. Variabile între paranteze unghiulare sau duble
ghilimele sunt extinse pentru a forma numele fișierului. În cazul în care se folosesc suporturi unghiulare, cele incluse
makefile este de așteptat să fie în directorul de sistem makefile. Dacă ghilimele duble sunt
folosit, directorul care include makefile și orice directoare specificate folosind -I
opțiunile sunt căutate înaintea directorului de sistem makefile.

.sinclude

.sinclude "fişier"
Aprecieri .include, dar ignorat în tăcere dacă fișierul nu poate fi găsit și deschis.

.undef variabil
Anulați definirea variabilei globale specificate. Numai variabilele globale pot fi nedefinite.

.eroare mesaj
Opriți imediat procesarea makefile-ului. Numele fișierului makefile, the
linia pe care a fost întâlnită eroarea și mesajul specificat sunt tipărite pe
ieșire de eroare standard și face se termină cu codul de ieşire 1. Variabilele din
mesajul sunt extinse.

.avertizare mesaj
Emite un mesaj de avertizare. Numele fișierului makefile, linia pe care avertizarea
a fost întâlnit, iar mesajele specificate sunt tipărite în rezultatul de eroare standard.
Variabilele din mesaj sunt extinse.

Condiționalele sunt folosite pentru a determina ce părți ale Makefile trebuie procesate. Sunt folosite
în mod similar cu condiționalele suportate de pre-procesorul C. Următoarele condiționale
sunt acceptate:

.dacă [!]expresie [operator expresie ...]
Testați valoarea unei expresii.

.ifdef [!]variabil [operator variabil ...]
Testați valoarea unei variabile.

.ifndef [!]variabil [operator variabil ...]
Testați valoarea unei variabile.

.ifmake [!]ţintă [operator ţintă ...]
Testați ținta construită.

.ifnmake [!]ţintă [operator ţintă ...]
Testați ținta construită.

.altfel Inversați sensul ultimului condițional.

.elif [!]expresie [operator expresie ...]
O combinație de .altfel urmată de .dacă.

.elifdef [!]variabil [operator variabil ...]
O combinație de .altfel urmată de .ifdef.

.elifndef [!]variabil [operator variabil ...]
O combinație de .altfel urmată de .ifndef.

.elifmake [!]ţintă [operator ţintă ...]
O combinație de .altfel urmată de .ifmake.

.elifnmake [!]ţintă [operator ţintă ...]
O combinație de .altfel urmată de .ifnmake.

.endif Încheiați corpul condiționalului.

operator poate fi oricare dintre următoarele:

|| OR logic

&& ȘI logic; cu prioritate mai mare decat '||".

Ca și în C, face va evalua un condițional numai în măsura în care este necesar pentru a-i determina
valoare. Parantezele pot fi folosite pentru a schimba ordinea evaluării. Operatorul boolean '!"
poate fi folosit pentru a nega logic un întreg condițional. Este de prioritate mai mare decât
"&&".

Valoarea a expresie poate fi oricare dintre următoarele:

definit Ia un nume de variabilă ca argument și evaluează la adevărat dacă variabila are
fost definit.

face Ia un nume de țintă ca argument și evaluează la adevărat dacă ținta a fost
specificat ca parte a facelinia de comandă a lui sau a fost declarată țintă implicită
(fie implicit sau explicit, vezi .PRINCIPAL) înaintea liniei care conține
condiţional.

gol Preia o variabilă, cu posibili modificatori și evaluează la adevărat dacă
extinderea variabilei ar avea ca rezultat un șir gol.

există Ia un nume de fișier ca argument și evaluează ca adevărat dacă fișierul există. The
fișierul este căutat pe calea de căutare a sistemului (vezi .CALE).

ţintă Ia un nume de țintă ca argument și evaluează ca adevărat dacă ținta a fost
definit.

An expresie poate fi, de asemenea, o comparație numerică sau de șir: în acest caz, partea stângă
trebuie sa be o expansiune variabilă, în timp ce partea dreaptă poate fi o constantă sau o variabilă
expansiune. Expansiunea variabilă se efectuează pe ambele părți, după care valorile rezultate
sunt comparate. O valoare este interpretată ca hexazecimal dacă este precedată de 0x, în caz contrar
este zecimal; numerele octale nu sunt acceptate.

Comparația șirurilor poate folosi doar „=="sau"!=' operatori, în timp ce valorile numerice (ambele
întreg și virgulă mobilă) pot fi, de asemenea, comparate folosind „>",">=","<"Și"<="
operatori.

Dacă nu este dat niciun operator relațional (și valoarea din dreapta), un implicit „!= 0' este folosit.
Cu toate acestea, fiți foarte atenți în utilizarea acestei funcții, mai ales când variabila din partea stângă
expansiunea returnează un șir.

Cand face evaluează una dintre aceste expresii condiționate și întâlnește un cuvânt it
nu recunoaște, îi este aplicată fie expresia „facă”, fie „definită”, în funcție de
forma condiționalului. Dacă forma este .dacă, .ifdef or .ifndef, „definit”
se aplică expresia. În mod similar, dacă forma este .ifmake or .ifnmake, expresia „face”.
este aplicat.

Dacă condiționalul se evaluează la adevărat, parsarea fișierului make continuă ca înainte. Daca
se evaluează ca fals, următoarele rânduri sunt sărite. În ambele cazuri, aceasta continuă până la a
.altfel or .endif e gasit.

Buclele For sunt de obicei folosite pentru a aplica un set de reguli unei liste de fișiere. Sintaxa lui a
bucla for este:

.pentru variabil in expresie

.endfor

După pentru expresie este evaluat, este împărțit în cuvinte. Iterația variabil is
setat succesiv la fiecare cuvânt și substituit în face-reguli în interiorul corpului pentru
buclă.

MESAJ


Comentariile încep cu un caracter hash ('#'), oriunde, decât într-o linie de comandă shell, și
continuă până la capătul liniei.

SPECIAL SURSE


.IGNORA Ignorați orice erori de la comenzile asociate cu această țintă, exact ca și cum
toate erau precedate de o liniuță ('-').

.FACE Executați comenzile asociate cu această țintă chiar dacă -n or -t Opțiuni
au fost precizate. Folosit în mod normal pentru a marca recursive face's.

.NU PRINCIPALĂ În mod normal face selectează prima țintă pe care o întâlnește ca țintă implicită
construit dacă nu a fost specificată nicio țintă. Această sursă împiedică această țintă să fie
selectat.

.OPTIONAL Dacă o țintă este marcată cu acest atribut și face nu-mi dau seama cum
creați-l, va ignora acest fapt și va presupune că fișierul nu este necesar sau nu este deja
există.

.PREȚIOS Cand face este întreruptă, elimină orice ținte parțial realizate. Această sursă
împiedică îndepărtarea țintei.

.TĂCUT Nu repetați nici una dintre comenzile asociate cu această țintă, exact ca și cum ar fi
toate au fost precedate de un semn la ("@").

.UTILIZARE Transformă ținta în faceversiunea unei macrocomenzi. Când ținta este folosită ca a
sursă pentru o altă țintă, cealaltă țintă dobândește comenzile, sursele și
atribute (cu excepția .UTILIZARE) din sursa. Dacă ținta are deja comenzi,
il .UTILIZARE comenzile țintei le sunt atașate.

.AȘTEPTA Dacă special .AȘTEPTA sursa apare într-o linie de dependență, sursele care preced
se fac înaintea surselor care îi succed în linie. Buclele nu sunt
detectate, iar țintele care formează bucle vor fi ignorate în tăcere.

SPECIAL OBIECTIVE


Țintele speciale nu pot fi incluse cu alte ținte, adică trebuie să fie singura țintă
specificat.

.ÎNCEPE Orice linii de comandă atașate acestei ținte sunt executate înainte de orice altceva
Terminat.

.MOD IMPLICIT Acesta este un fel de a .UTILIZARE regulă pentru orice țintă (care a fost folosită doar ca sursă) care
face nu pot găsi nicio altă modalitate de a crea. Este folosit doar scriptul shell.
.IMPSRC variabilă a unei ținte care moștenește .MOD IMPLICITcomenzile lui este setată la
propriul nume al țintei.

. END Orice linii de comandă atașate acestei ținte sunt executate după ce toate celelalte sunt executate
Terminat.

.IGNORA Marcați fiecare dintre surse cu .IGNORA atribut. Dacă nu există surse
specificat, acesta este echivalentul cu specificarea -i opțiune.

.INCLUSE O listă de sufixe care indică fișierele care pot fi incluse într-un fișier sursă.
Sufixul trebuie să fi fost deja declarat cu .SUFIXE; orice sufix deci
declarat va avea directoarele pe calea sa de căutare (vezi .CALE) plasat în
.INCLUSE variabilă specială, fiecare precedată de a -I steag.

.ÎNTRERUPE If face este întrerupt, comenzile pentru această țintă vor fi executate.

.LIBS Acest lucru face pentru biblioteci ce .INCLUSE face pentru include fișiere, cu excepția faptului că
steag folosit este -L.

.PRINCIPAL Dacă nu este specificată nicio țintă când face este invocată, această țintă va fi construită. Acest
este întotdeauna setat, fie explicit, fie implicit când face selectează implicit
target, pentru a oferi utilizatorului o modalitate de a se referi la ținta implicită din comandă
linia.

.MAKEFILEDEPS
Activați funcționalitatea „Refacerea fișierelor Makefile”, așa cum este explicat în documentul REFACERE
MAKEFILES secțiunea de mai jos.

.FACEȚI steaguri Această țintă oferă o modalitate de a specifica steaguri pentru face când este folosit makefile.
Steagurile sunt ca și cum ar fi tastate pe shell, deși -f opțiunea va avea nr
efect. Steaguri (cu excepția -f) și alocările variabile specificate ca sursă
pentru această țintă sunt, de asemenea, anexate la .FACEȚI steaguri variabilă internă. Vă rog
notați diferența dintre această țintă și .FACEȚI steaguri variabila interna:
specificarea unei opțiuni sau a atribuirii variabilei ca sursă pentru această țintă va
afecta atât makefile-ul curent și toate procesele care face execută.

.MFLAGS La fel ca mai sus, pentru compatibilitate inversă.

.NU PARALEL
Dezactivați modul paralel.

.NU_PARALEL
La fel ca mai sus, pentru compatibilitate cu altele pmake variante.

.ORDIN Țintele numite sunt făcute în ordine.

.CALE Sursele sunt directoare care trebuie căutate pentru fișiere care nu se găsesc în
directorul curent. Dacă nu sunt specificate surse, orice sursă specificată anterior
directoarele sunt șterse. Acolo unde este posibil, utilizarea .CALE este preferată în detrimentul utilizării
il VPATH variabilă.

.CALEsufix
Sursele sunt directoare care nu trebuie căutate pentru fișiere sufixate
găsit în directorul curent. The face utilitarul caută mai întâi sufixul
calea de căutare, înainte de a reveni la calea implicită dacă fișierul nu este găsit
Acolo. Acest formular este necesar pentru .LIBS si .INCLUSE la locul de muncă.

.FALS Aplicați .FALS atribuite oricăror surse specificate. Ținte cu asta
atribute sunt întotdeauna considerate a fi învechite.

.POSIX Ajusta facecomportamentul lui pentru a se potrivi cu specificațiile POSIX aplicabile. (Rețineți acest lucru
dezactivează funcția „Refacerea fișierelor Makefile”.)

.PREȚIOS Aplicați .PREȚIOS atribuite oricăror surse specificate. Dacă nu există surse
specificat, cel .PREȚIOS atributul este aplicat fiecărei ținte din fișier.

.COAJĂ Selectați un alt shell. Sursele acestei ținte au formatul cheie=valoare.
cheie este unul din:

cale Specificați calea către noul shell.

nume Specificați numele noului shell. Acesta poate fi unul dintre
trei shell-uri încorporate (vezi mai jos) sau orice alt nume.

liniştit Specificați comanda shell pentru a dezactiva ecoul.

ecou Specificați comanda shell pentru a activa ecoul.

filtru De obicei, shell-urile imprimă comanda echo off înainte de a dezactiva ecoul.
Acesta este șirul exact care va fi imprimat de shell și este
folosit pentru a filtra ieșirea shell-ului pentru a elimina comanda echo off.

echoFlag Opțiunea shell care activează ecoul.

errFlag Opțiunea shell pentru a activa verificarea erorilor. Dacă verificarea erorilor este activată,
shell-ul ar trebui să iasă dacă o comandă returnează o stare diferită de zero.

hasErrCtl Adevărat dacă shell-ul are controlul erorilor.

verifica If hasErrCtl este adevărat, atunci aceasta este comanda shell pentru a transforma eroarea
verificând. Dacă hasErrCtl este fals, atunci acesta este un șablon de comandă
la ecou comenzi pentru care verificarea erorilor este dezactivată. Șablonul
trebuie să conțină un „%s”.

ignora If hasErrCtl este adevărat, aceasta este comanda shell pentru a transforma eroarea
bifarea. Dacă hasErrCtl este fals, acesta este un șablon de comandă pentru
executați o comandă astfel încât erorile să fie ignorate. Șablonul trebuie
conține un „%s”.

meta Acesta este un șir de meta caractere ale shell-ului.

încorporate Acesta este un șir care conține toate comenzile încorporate ale shell-ului separate
prin spaţii libere. The meta si încorporate șirurile sunt folosite în modul compat.
Când o linie de comandă nu conține nici un meta caracter și nici nu începe cu
un shell încorporat, este executat direct fără invocarea unui shell.
Când unul dintre aceste șiruri (sau ambele) este gol, toate comenzile sunt
executat printr-o coajă.

unsetenv Dacă este adevărat, eliminați variabila de mediu ENV înainte de a executa oricare
comanda. Acest lucru este util pentru Korn-shell (ksh).

Valorile care sunt șiruri de caractere trebuie să fie înconjurate de ghilimele duble. Valorile booleene sunt
specificat ca „T” sau „Y” (în ambele cazuri) pentru a însemna adevărat. Se ia orice altă valoare
a însemna fals.

Există mai multe utilizări ale .COAJĂ ţintă:

· Selectarea uneia dintre shell-urile încorporate. Acest lucru se face doar prin specificarea
numele cochiliei cu nume cuvânt cheie. De asemenea, este posibilă modificarea
parametrii shell-ului încorporat prin simpla specificare a altor cuvinte cheie (cu excepția
pentru cale).

· Folosind un alt executabil pentru unul dintre shell-urile încorporate. Acest lucru este realizat de
specificând calea către executabil cu ajutorul cale cuvânt cheie. Dacă ultimul
componenta este aceeași cu numele shell-ului încorporat, nu trebuie să fie niciun nume
specificat; dacă este diferit, trebuie dat numele:

.SHELL: path="/usr/local/bin/sh"

selectează shell-ul încorporat „sh”, dar îl va executa din /usr/local/bin/sh.
Ca și în cazul precedent, este posibil să se modifice parametrii
shell încorporat doar specificându-le.

· Folosind o carcasă complet diferită. Acest lucru se face prin specificarea tuturor cuvintelor cheie.

Shell-urile încorporate sunt „sh”, „csh” și „ksh”. Pentru că FreeBSD nu are ksh in
/ cos, este neînțelept să specificați nume="ksh" fără a specifica și o cale.

.TĂCUT Aplicați .TĂCUT atribuite oricăror surse specificate. Dacă nu există surse
specificat, cel .TĂCUT atributul este aplicat fiecărei comenzi din fișier.

.SUFIXE Fiecare sursă specifică un sufix la face. Dacă nu sunt specificate surse, oricare
sufixele specificate anterior sunt șterse.

.A AVERTIZA Fiecare sursă specifică un semnal de avertizare așa cum a fost descris anterior pentru -x comandă
opțiunea de linie. Indicatoarele de avertizare specificate pe linia de comandă au prioritate
steaguri specificate în fișierul make. De asemenea, steaguri de avertizare din linia de comandă sunt împinse către
sub-realizează prin variabilele de mediu MAKEFLAGS astfel încât un semnal de avertizare
specificate pe linia de comandă vor influența toate sub-marca. Mai multe steaguri pot
fi specificat pe un singur .A AVERTIZA tinta prin separarea lor cu spatii libere.

REFACERE MAKEFILES


Dacă ţinta specială .MAKEFILEDEPS există în Makefile, face permite „Refacerea
Makefiles”. După ce ați citit Makefile și toate fișierele care sunt incluse folosind
.include or .sinclude directive (sursa Makefiles) face consideră fiecare sursă Makefile ca a
țintă și încearcă să o reconstruiască. Atât regulile explicite, cât și cele implicite sunt verificate și toate sursele
Makefiles sunt actualizate dacă este necesar. Dacă oricare dintre Makefile-urile sursă a fost reconstruit, face
repornește din starea curată.

Pentru a preveni buclele infinite, următoarele ținte Makefile sursă sunt ignorate:

· :: ținte care nu au condiții prealabile

· ! obiective

· ţinte care au .FALS or .EXEC atribute

· ținte fără condiții prealabile și fără comenzi

Când refaceți o sursă opțiuni Makefile -t (atingeți ținta), -q (modul de interogare) și -n (fără exec)
nu intră în vigoare, cu excepția cazului în care sursa Makefile este specificată în mod explicit ca țintă în face
Linie de comanda.

În plus, fișierele makefile de sistem și .depinde nu sunt considerate ca Makefile care pot fi
reconstruit.

MEDIUL


face utilitarul utilizează următoarele variabile de mediu, dacă există: MACHINE, MAKE,
MAKEFLAGS, MAKEOBJDIR, MAKEOBJDIRPREFIX și MAKESYSPATH.

Utilizați fmake online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    Avogadro
    Avogadro
    Avogadro este o moleculară avansată
    editor conceput pentru utilizare pe mai multe platforme
    în chimie computațională, moleculară
    modelare, bioinformatica, materiale
    stiinta si...
    Descărcați Avogadro
  • 2
    XMLTV
    XMLTV
    XMLTV este un set de programe de procesat
    Listări TV (tvguide) și ajutor în gestionare
    vizionarea dvs. la televizor, stocarea listelor într-un
    Format bazat pe XML. Există utilități pentru
    do...
    Descărcați XMLTV
  • 3
    atacant
    atacant
    Proiectul Strikr Free Software. Artefacte
    eliberat sub o „intenție bazată”
    licență duală: AGPLv3 (comunitar) și
    CC-BY-NC-ND 4.0 internațional
    (comercial)...
    Descărcați strikr
  • 5
    GIFLIB
    GIFLIB
    giflib este o bibliotecă pentru lectură și
    scrierea imaginilor gif. Este API și ABI
    compatibil cu libungif care era în
    utilizare largă în timp ce compresia LZW
    algoritmul a fost...
    Descărcați GIFLIB
  • 6
    Alt-F
    Alt-F
    Alt-F oferă o sursă gratuită și deschisă
    firmware alternativ pentru DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F are Samba și NFS;
    suportă ext2/3/4...
    Descărcați Alt-F
  • Mai mult »

Comenzi Linux

Ad