Differences

This shows you the differences between two versions of the page.

Link to this comparison view

poo-is:makefile [2020/12/03 17:56]
eduard.ciurezu [Exemplu Makefile]
— (current)
Line 1: Line 1:
-====== Makefile ====== 
- 
-===== Reguli ===== 
- 
-Un **Makefile** este alcatuit dintr-un set de reguli, care in mod general au urmatoarea sintaxa: 
-<​code>​ targets: prerequisites 
-     ​command 
-     ​command 
-     ​command 
-</​code>​ 
-<note important>​Instructiunile command sunt aliniate la un **tab**.\\ 
-Acest lucru este **foarte important**!\\ 
-**Nu folositi space-uri!**\\ 
-**Folositi tab!**</​note>​ 
-Pentru utilizarea in cadrul temelor cursului de Programare Orientata pe Obiecte, noi o sa ne limitam la cele doua reguli: **make build** si **make clean**. 
- 
-==== 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. 
- 
-Sa presupunem ca avem urmatoarea structura de fisiere: 
-  * **Clasa.h** - headerul in care definim clasa 
-  * **Clasa.cpp** - implementarea metodelor din clasa 
-  * **main.cpp** - fisierul main al proiectului 
- 
-Regula **make build** din cadrul fisierului **Makefile** va arata in felul urmator: 
-<​code>​build: ​ 
-     g++ -o Test main.cpp Clasa.cpp 
-</​code>​ 
- 
-<note tip> 
-**g++** 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.\\ 
-**main.cpp** si **Clasa.cpp** sunt toate fisierele **.cpp** existente in proiect.\\ 
-</​note>​ 
- 
-Pentru rularea ulterioare, se poate folosi in terminal comanda **make build**.\\ 
-In urma acesteia, fisierele vor fi compilate si se va crea un executabil numit **Test**. 
- 
-==== Make clean ==== 
-Regula **make clean** este utilizata pentru "a face curat" dupa compilarea si executarea programului,​ pregatindu-l pentru rulari ulterioare.\\ 
-Curatenia consta in **stergerea** fisierelor aditionale create in urma compilarii si executarii.\\ 
-In cazul nostru, fisierul aditional creat este executabilul **Test**, pe care o sa-l stergem. 
- 
-<​code>​clean: ​ 
-     rm -f Test 
-</​code>​ 
- 
-<note tip>​Flag-ul **-f** este folosit pentru **fortarea** stergerii fisierului.</​note>​ 
- 
-Pentru rularea ulterioare, se poate folosi in terminal comanda **make clean**.\\ 
-In urma acesteia, fisierul **Test** va fi sters. 
- 
-===== Exemplu Makefile ===== 
- 
-{{ :​poo-is:​makefile-example.png |}} 
- 
-<note important>​Fisierul trebuie sa aiba numele **Makefile**,​ fara extensie.\\ 
-Exemplul este realizat **exclusiv** pentru rularea pe sistem de operare **Linux**.\\ 
-</​note>​ 
- 
-<note tip> 
-Pentru rularea pe **Windows**,​ puteti inlocui comanda din regula **make clean** cu 
-<​code>​ 
-del /f Test.exe 
-</​code>​ 
-</​note>​ 
- 
-<​note>​Exemplul contine regulile prezentate anterior: 
-  * **make build** 
-  * **make clean** 
-</​note>​ 
  
poo-is/makefile.1607010999.txt.gz ยท Last modified: 2020/12/03 17:56 by eduard.ciurezu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0