Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 2 - Céčko a Linux – Makefile

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Neaktivní uživatel:25.2.2015 13:48

Jeden tip. Pokud by jste měli složku dep a spustili by jste make dep, make se nebude chovat normálně. Jako řešení se nabízí přidat do Makefile sekci PHONY

.PHONY: dep
Odpovědět
25.2.2015 13:48
Neaktivní uživatelský účet
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
David Novák:25.2.2015 13:52

To a ještě několik dalších věcí plus Makefile tak, jak ho používám, chci někdy do budoucna přidat do samotného článku jako hotový SW.. ;)

Ale díky za zmínění - třeba to někdo využije už teď :)

Odpovědět
25.2.2015 13:52
Chyba je mezi klávesnicí a židlí.
Avatar
paja
Člen
Avatar
paja:24.6.2015 9:03

Skvele popsany popsany postup ;) Diky

 
Odpovědět
24.6.2015 9:03
Avatar
Patrik Pastor:11.9.2019 18:28

Ovsem kdyz dam: make all nebo jenom make - vyhodi mi to hlasku

make: Nothing to be done for 'all'

Tak nevim - ale jak si popisova minule tak v zavislotech je $(name) - coz je dalsi zavislost (zaverecne slinkovni), tak by se melo prece vykonat - cili je to takove udelej vse (podle nazvu). Ale zase to nema zadny prikaz, pouze zavislosti, mozna proto to hlasi 'nothing to be done'. Kazdopadne jsem to musel smazat, a provest ciste 'make' a potom to slo. Jak mam tady zavest pravidlo 'all' aby fungovalo?

PS: rad bych kdybys dovysvetlil, jak funguje $<, $@ - respektive jak se vygeneruje NAZEV zdrojoveho a ciloveho souboru (napsal jsi to co je, ale ne jak to funguje). Dik

Editováno 11.9.2019 18:30
 
Odpovědět
11.9.2019 18:28
Avatar
David Novák
Tvůrce
Avatar
Odpovídá na Patrik Pastor
David Novák:13.10.2019 11:23

A udělal jsi předtím nějakou změnu v některém ze zdrojových souborů? Make si kontroluje, jestli je čas změny souborů mladší, než čas vytvoření výstupní binárky. 'make' a 'make all' jsou v tomto Makefile stejné příkazy.

$@ jednoduše vezme název generovaného souboru (tj. název pravidla: %.o - za procento jsou postupně dosazeny všechny hodnoty OBJFILES)
$< vezme první požadovaný soubor tj. to, co je za dvojtečkou (%.c)

Detaily můžeš najít v make manuálu: https://www.gnu.org/…riables.html#…

Odpovědět
13.10.2019 11:23
Chyba je mezi klávesnicí a židlí.
Avatar
Jozef Vendel
Člen
Avatar
Jozef Vendel:10.2.2021 11:48

Dobry den. Chcem sa opytat, ci je rozdiel v pisani suboru Makefile medzi os Windows a Linux.
Dakujem

 
Odpovědět
10.2.2021 11:48
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.