Aceasta este comanda makedepend 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
makedepend - creați dependențe în makefiles
REZUMAT
makedepend [ -Dnume=Def ] [ -Dnume ] [ -Iinclusivir ] [ -Yinclusivir ] [ -a ] [ -fmakefile
] [ -include fişier ] [ -osufixul obj ] [ -pobjprefix ] [ -sşir ] [ -wlățime ] [ -v ] [ -m ]
[ -- alte optiuni -- ] fișier sursă ...
DESCRIERE
makedepend programul citește fiecare fișier sursă în secvență și îl parsează ca un C-
preprocesor, procesarea tuturor #include, #defini, #undef, #ifdef, #ifndef, #endif, #dacă,
#elif și #altfel directive astfel încât să poată spune corect care #include, directivele ar
fi folosit într-o compilație. Orice #include, directivele pot face referire la fișiere care au altele
#include directive, iar analizarea va avea loc și în aceste fișiere.
Fiecare dosar care a fișier sursă include, direct sau indirect, este ceea ce makedepend apelează a
dependenţă. Aceste dependențe sunt apoi scrise în a makefile în așa fel încât face(1)
va ști ce fișiere obiect trebuie recompilate atunci când o dependență s-a schimbat.
În mod implicit, makedepend își plasează rezultatul în fișierul numit makefile daca exista,
in caz contrar Makefile. Un makefile alternativ poate fi specificat cu -f opțiune. Mai întâi
caută linia în makefile
# NU ȘTERGEȚI ACEASTA LINIE -- face dependent depinde de ea.
sau unul prevăzut cu -s opțiune, ca delimitator pentru ieșirea dependenței. Daca gaseste
acesta, va șterge tot ce urmează până la sfârșitul fișierului make și va pune rezultatul
după această linie. Dacă nu îl găsește, programul va adăuga șirul la sfârșitul lui
makefile și plasați rezultatul după aceea. Pentru fiecare fișier sursă care apare pe
Linie de comanda, makedepend pune linii în makefile-ul formularului
sourcefile.o: dfile...
Unde sursă.o este numele din linia de comandă cu sufixul înlocuit cu ``.o'',
și dfile este o dependență descoperită în a #include directivă în timpul analizării fișier sursă or
unul dintre fișierele pe care le includea.
EXEMPLU
In mod normal, makedepend va fi folosit într-o țintă de makefile, astfel încât tastarea ``make depend'' va fi
aduceți dependențele la zi pentru makefile. De exemplu,
SRCS = fișier1.c fișier2.c ...
CFLAGS = -O -DHACK -I../foobar -xyz
depinde:
makedepend -- $(CFLAGS) -- $(SRCS)
OPŢIUNI
Programul va ignora orice opțiune pe care nu o înțelege, astfel încât să puteți utiliza
aceleași argumente pe care le-ai fi pentru tine cc(1).
-Dnume=Def or -Dnume
Defini. Aceasta pune o definiție pentru nume in a lui makedepend tabelul de simboluri. Fără
=def simbolul devine definit ca ``1''.
-Iinclusivir
Includeți directorul. Această opțiune spune makedepend a antea inclusivir la lista sa de
directoare pentru a căuta atunci când întâlnește un #include directivă. În mod implicit,
makedepend caută doar directoarele standard de includere (de obicei / usr / include și
eventual un director dependent de compilator).
-Yinclusivir
Înlocuiți toate directoarele standard de includere cu singura includere specificată
director; puteți omite inclusivir pentru a preveni pur și simplu căutarea standardului
include directoare.
-a Adăugați dependențele la sfârșitul fișierului în loc să le înlocuiți.
-fmakefile
Nume de fișier. Acest lucru vă permite să specificați un makefile alternativ în care makedepend poate să
plasează-i ieșirea. Specificarea ``-'' ca nume de fișier (adică, -f-) trimite ieșirea către
ieșire standard în loc să modifice un fișier existent.
-include fişier
Procesați fișierul ca intrare și includeți toate rezultatele rezultate înainte de procesarea fișierului
fișier de intrare obișnuit. Acest lucru are același efect ca și în cazul în care fișierul specificat este o includere
instrucțiune care apare înainte de prima linie a fișierului de intrare obișnuit.
-osufixul obj
Sufixul fișierului obiect. Unele sisteme pot avea fișiere obiect al căror sufix este ceva
altele decât ``.o''. Această opțiune vă permite să specificați un alt sufix, cum ar fi ``.b''
cu -ob sau ``:obj'' cu -o:obj si asa mai departe.
-pobjprefix
Prefixul fișierului obiect. Prefixul este adăugat la numele fișierului obiect. Aceasta este
folosit de obicei pentru a desemna un director diferit pentru fișierul obiect. Valoarea implicită este
șirul gol.
-sşir
Delimitator șir de pornire. Această opțiune vă permite să specificați un șir diferit pentru
makedepend pentru a căuta în makefile.
-wlățime
Lățimea liniei. În mod normal, makedepend se va asigura că fiecare linie de ieșire pe care o scrie
nu va fi mai mare de 78 de caractere din motive de lizibilitate. Această opțiune permite
tu să schimbi această lățime.
-v Operație verbală. Această opțiune provoacă makedepend pentru a emite lista de fișiere incluse
de fiecare fișier de intrare.
-m Avertizați despre includerea multiplă. Această opțiune provoacă makedepend pentru a produce un avertisment dacă
orice fișier de intrare include un alt fișier de mai multe ori. În versiunile anterioare ale
makedepend acesta a fost comportamentul implicit; valoarea implicită a fost schimbată în mai bună
potrivește comportamentul compilatorului C, care nu ia în considerare includerea multiplă
fi o eroare. Această opțiune este oferită pentru compatibilitate cu versiunea anterioară și pentru a ajuta
probleme de depanare legate de includerea multiplă.
-- Opțiuni --
If makedepend întâlnește o cratimă dublă (--) în lista de argumente, apoi orice
argumentul nerecunoscut care îl urmează va fi ignorat în tăcere; o a doua cratimă dublă
încetează acest tratament special. În acest fel, makedepend poate fi făcută în siguranță
ignorați argumentele ezoterice ale compilatorului care ar putea fi găsite în mod normal într-un CFLAGS face
macro (vezi EXEMPLU secțiunea de mai sus). Toate opțiunile care makedepend recunoaşte şi
apar între perechea de cratime duble sunt procesate normal.
ALGORITM
Abordarea utilizată în acest program îi permite să ruleze cu un ordin de mărime mai rapid decât oricare
alt „generator de dependență” pe care l-am văzut vreodată. În centrul acestei performanțe sunt două
ipoteze: că toate fișierele compilate de un singur makefile vor fi compilate cu aproximativ
la fel -I și -D Opțiuni; și că majoritatea fișierelor dintr-un singur director vor include în mare parte
aceleași fișiere.
Având în vedere aceste ipoteze, makedepend se așteaptă să fie apelat o dată pentru fiecare makefile, cu toate
fișierele sursă care sunt menținute de makefile care apare pe linia de comandă. Se analizează
fiecare sursă și include fișierul exact o dată, menținând un tabel intern de simboluri pentru fiecare.
Astfel, primul fișier de pe linia de comandă va dura o perioadă de timp proporțională cu
timpul necesar unui preprocesor C normal. Dar pe fișierele ulterioare, dacă
întâlnește un fișier include pe care l-a analizat deja, nu îl analizează din nou.
De exemplu, imaginați-vă că compilați două fișiere, fisier1.c și fișier2.c, ele includ fiecare
fișierul antet header.h, si dosarul antet.h la rândul său include fișierele def1.h și
def2.h. Când executați comanda
makedepend file1.c file2.c
makedepend va analiza fisier1.c si in consecinta, antet.h și apoi def1.h și def2.h. It
apoi decide că dependențele pentru acest fișier sunt
fișier1.o: header.h def1.h def2.h
Dar când programul analizează fisier2.c și descoperă că, de asemenea, include header.h, o face
nu analizează fișierul, ci pur și simplu adaugă header.h, def1.h și def2.h la lista de
dependențe pentru dosar2.o.
Utilizați makedepend online folosind serviciile onworks.net