Makedepend - Makedepend
nezávislý je Unix nástroj používaný ke generování závislosti z C zdrojové soubory. Verze pro Windows byla zpřístupněna někdy v roce 2002 [1] a aktualizovaný poslední rok 2007 na UnxUtils.[2]
Dějiny
nezávislý
byl vyvinut jako součást MIT je Projekt Athena. To bylo používáno značně v budově X11 a pomocné balíčky, ale od té doby je nahrazeno zařízeními pro generování závislostí různých překladačů a nyní se používá především jako záložní řešení v nejhorším případě, např. podle depcomp a GNU Automake.
Používání
nezávislý
je vyvolána se seznamem zdrojových souborů:
makedepend [možnosti] foo.c bar.c ...
Častěji je však vyvoláván jako cíl z a makefile, obvykle pod záviset
cíl, takový, že záviset
vyvolá nezávislý
na všechny zdrojové soubory v projektu. Jeden takový příklad cíle by byl následující:
SRCS = file1.c file2.c ...CFLAGS = -O -DHACK -I ../ foobar -xyzzáviset: makedepend - $(CFLAGS) -- $(SRCS)
Účel
Při budování projektů v jazyce C je to bezpodmínečně nutné sestavení (a užitečné pro čistou kompilaci), aby bylo možné sledovat závislosti mezi kompilační jednotky. C vyjadřuje rozhraní mezi kompilačními jednotkami prostřednictvím hlavičkové soubory; jako takový je často nutné znovu sestavit kompilační jednotku, když se změní záhlaví, které obsahuje. udělat je třeba o těchto závislostech informovat.
nezávislý
řeší tento problém analýzou kódu zdrojových souborů C za účelem vygenerování seznamu závislostí (tyto hlavičkové soubory jsou zahrnuty přímo a nepřímo). Je schopen pochopit podmíněná kompilace konstruuje tak, aby negenerovalo nadměrné závislosti. Potom připojí pravidla vyjadřující závislosti do Makefile.
Nedostatky
Hodně moderní zdrojový kód používá „podmíněnou kompilaci“ k řízení toho, která část zdrojového kódu má být použita na základě symbolů C před zpracováním definovaných kompilátorem. Tyto symboly mohou uvádět název nebo rodinu kompilátoru, číslo verze, operační systém a velikost slova. V závislosti na těchto symbolech se mohou zahrnuté soubory změnit. Makedepend však není sám kompilátorem a nedefinuje žádné takové symboly, takže výstup může být nesprávný. Dále bude nějaký kód záměrně vytvářet explicitní chybu, pokud nebude schopen rozpoznat žádný podporovaný kompilátor, a nebude tedy makedepend vůbec použitelný.
Alternativy
Většina moderních překladačů poskytuje příznak (často -M
), který používá vlastní zdrojový analyzátor kompilátoru ke generování seznamu závislostí[Citace je zapotřebí ]. To může být výhodné nezávislý
protože to snižuje pravděpodobnost, že generované závislosti budou v rozporu s vlastním chováním kompilátoru.
Vzhledem k tomu, že překladače přijímají různé příznaky pro generování závislostí a mohou se chovat odlišně při výstupu informací o závislostech, je žádoucí použít obálkový skript, který může vhodně vyvolat kompilátor (a vrátit se zpět na nezávislý
Pokud je potřeba). Jeden populární takový obalový skript je depcomp, který je distribuován a používán GNU Automake.[3]
Solaris udělat zahrnuje podporu pro sledování závislostí, která se aktivuje zadáním "cíle speciální funkce" .KEEP_STATE
.[4]
Reference
- ^ „Added makedepend from X11 distribution“. Archivovány od originál dne 2006-02-09. Citováno 2013-09-17.
- ^ UnxUtils projekt hostil dne SourceForge
- ^ Sledování závislostí v Automake, Manuál Automake
- ^ Solaris značka (1) Man-page
externí odkazy
- Linux Příkazy uživatele Manuál : vytvořit závislosti v makefiles -
- Adresář, kde zdrojový kód je k dispozici
![]() | Tento Unix související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |