[AVR-GCC] Kompilacja "2drozna"

Witam, mam 2 identyczne uklady roznica jest niewielka. w jednym jest zegar DS1305 w drugim DS1307. Jest mozliwosc zeby kompilator tworzyl binaria za jednym zamachem dla obu ukladow? Jak to uwarunkowac ???

Reply to
Pawel K
Loading thread data ...
Reply to
Maciej Wywrocki

Maciej Wywrocki pisze:

no tak, jednak albo 1szy wariant albo 2gi. Mi chodzi o obydwa warianty za jednym zamachem :)

Reply to
Pawel K

Pawel K pisze:

Edycja pliku Makefile, ale wydaje mi się, że prościej jednak utworzyć 2 projekty. Albo inaczej - napisać skrypt, który najpierw utworzy pierwszą, a następnie drugą binarkę.

Reply to
Łukasz Zemła

Pawel K pisze:

No to w makefile wstawiasz do opcji kompilatora np. -DMAM_DS1305 a za drugim razem -DMAM_DS1307 i sprawdzasz tą definicję #ifdef'em tak jak inne kompilacje warunkowe. Warto zrobić oddzielne sprawdzenia każdej definicji zamiast klauzuli #else aby wykryć ew. niezdefiniowanie typu układu w pliku makefile.

Możesz tak napisać makefile, aby wszystkie pliki były wspólne, a tylko kod do obsługi DS1305 wzięty z pliku ds.c wpadł do ds1305.o natomiast to samo skompilowane dla DS1307 wpadło do pliku ds1307.o. Potem w spisie plików linkowanych umieszczasz ds1305.o a innym razem 1307.o i po kłopocie. Trzeba tylko powielić wywołanie linkera np. przy generacji "all:" aby zrobiły się dwa pliki wynikowe.

Reply to
Adam Dybkowski

Adam Dybkowski pisze:

dzieki wielkie .... jak zawsze niezawodny ...

Reply to
Pawel K

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.