This shows you the differences between two versions of the page.
sda-ab:makefile [2020/12/24 12:40] ruben_gilian.udroiu created |
sda-ab:makefile [2020/12/24 12:43] (current) ruben_gilian.udroiu |
||
---|---|---|---|
Line 16: | Line 16: | ||
==== Make build ==== | ==== Make build ==== | ||
- | Regula **make build** este folosita pentru compilarea fisierelor .cpp folosite in proiectul curent si transpunerea acestora intr-un fisier executabil cu un nume predefinit. | + | Regula **make build** este folosita pentru compilarea fisierelor .c folosite in proiectul curent si transpunerea acestora intr-un fisier executabil cu un nume predefinit. |
Sa presupunem ca avem urmatoarea structura de fisiere: | Sa presupunem ca avem urmatoarea structura de fisiere: | ||
- | * **Clasa.h** - headerul in care definim clasa | + | * **algoritm.h** - headerul in care definim algoritmul (functii/metode necesare implementarii algoritmului) |
- | * **Clasa.cpp** - implementarea metodelor din clasa | + | * **algoritm.c** - implementarea unui algoritm |
- | * **main.cpp** - fisierul main al proiectului | + | * **main.c** - fisierul main al proiectului |
Regula **make build** din cadrul fisierului **Makefile** va arata in felul urmator: | Regula **make build** din cadrul fisierului **Makefile** va arata in felul urmator: | ||
<code>build: | <code>build: | ||
- | g++ -o Test main.cpp Clasa.cpp | + | gcc main.c algoritm.c -o Test |
</code> | </code> | ||
<note tip> | <note tip> | ||
- | **g++** este un compiler specific limbajului **C++**.\\ | + | **gcc** este un compiler specific limbajului **C**.\\ |
Flag-ul **-o** urmat de token-ul **Test** duce la denumirea executabilului obtinut in urma compilarii conform token-ului.\\ | Flag-ul **-o** urmat de token-ul **Test** duce la denumirea executabilului obtinut in urma compilarii conform token-ului.\\ | ||
- | **main.cpp** si **Clasa.cpp** sunt toate fisierele **.cpp** existente in proiect.\\ | + | **main.c** si **algoritm.c** sunt toate fisierele **.c** existente in proiect.\\ |
</note> | </note> | ||