makefile

Michal Grunt michal.grunt na gmail.com
Středa Srpen 3 09:33:48 CEST 2016


Děkuji, to bude asi ono (předřadit adresář pro .o a ostatní soubory).
Já to dělal tak, že jsem odstřihával i podadresáře a měl vše v jednom
adresáři. Nebo jinak, zdrojové soubory jsou v různých adresářích a
cestu jsem odmazával a nahrazoval ji tou jednou "BLDDIR" takže
kompiler pak asi nepoznal co k čemu patří.

Ale mám ještě jeden problém. Cvičně jsem si napsal jednoduchý .h
soubor a k tomu .c. (např. pokus.h/pokus.c) Soubor pokus.h jsem pomocí
include přidal do hlavního uživatelského souboru (řekněme main.c).
Překlad proběhne v pořádku, ale při linkování mi to píše chybu
undefined reference to název funkce z pokus.h resp. pokus.c.
Přeložím pokus.c na pokus.o
Přeložím main.c na main.o
Slinkuji main.o a pokus.o a tady to hodí chybu. Co s tím? Bude to asi
nějaká blbost...

Dne 2. srpna 2016 17:07 Miroslav Mraz <mrazik na volny.cz> napsal(a):
> Názvy souborů v pravidlech a závislostech musí navzájem odpovídat. Takže
> např. takto
>
> BLDDIR = bld
> # příklad
> FILES  = main test
>
> OBJECTS = $(addprefix $(BLDDIR)/,$(addsuffix .o,$(FILES)))
>
> all: $(BLDDIR) $(PR)
>
> $(BLDDIR):
>         mkdir $(BLDDIR)
> $(PR): $(OBJECTS)
>         $(CC) $(MFLAGS) $(OBJECTS) $(LFLAGS)
> $(BLDDIR)/%.o: %.c
>         $(CC) -c $(CFLAGS) $< -o $@
>
> Mrazík
>
> Dne 2.8.2016 v 09:20 Michal Grunt napsal(a):
>>
>> Zdravím,
>>
>> udělal jsem si makefile pro Maple mini + Arduino zdrojáky takže se to
>> dá přenést do libovolného IDE bez dalšího balastu, který většinou moc
>> nefunguje (ve Visual Studiu třeba sprintf) a je nutné se spolehnout na
>> někoho dalšího... Je to teda šitý jenom na tento konkrétní HW, ale to
>> mi nevadí. Chci se zeptat, pokud výstup (.o, .d) přesměruju do nějaké
>> složky, aby to nebylo u zdrojáků tak už nefunguje rychlá kompilace.
>> Nezkompiluje se jenom změněný soubor, ale všechno. Když výstupní
>> soubory nepřesměruju tak to funguje. Hledal jsem co s tím, ale nic
>> jsem nenašel. Čím to?
>>
>> MG
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list