• Nie Znaleziono Wyników

2013-05-15 JarosławPiersa ProgramowanieIC/C++laboratorium13—Budowanieprogramów,make

N/A
N/A
Protected

Academic year: 2021

Share "2013-05-15 JarosławPiersa ProgramowanieIC/C++laboratorium13—Budowanieprogramów,make"

Copied!
8
0
0

Pełen tekst

(1)

Programowanie I C / C++

laboratorium 13 — Budowanie programów, make

Jarosław Piersa

Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika

2013-05-15

(2)

Duże programy

W projekcie mamy pliki źródłowe k100a.c

k100b-kolo.c k100b-kolo.h Polecenie kompilacji

gcc -Wall k100a.c k100b-kolo.c -lm

(3)

Zautomatyzowanie procesu

make

http://www.gnu.org/software/make/

plik konfiguracyjny: ./makefile

pozostałe źródła k100a.c, k100b-kolo.c, k100b-kolo.h Polecenie kompilacji

make

(4)

Składnia makefile

# s k l a d n i a

# - n a z w a C e l u

# - o b o w i a z k o w y d w u k r o p e k

# - e w e n t u a l n e w y m a g a n i a

# k 1 0 0:

# a k c j a :

# j e d e n tab w c i e c i a ( o b o w i a z k o w y

# p o l e c e n i a j a k i e m a j a sie w y k o n a c ) gcc - W a l l - O3 k 1 0 0 a . c k100b - k o l o . c - lm

(5)

Składnia makefile

Budowanie celów

# cel 1 - c a l y p r o j e k t ( w y m a g a c e l u 2):

k 1 0 0 : k 1 0 0 a . o k100b - k o l o . o

gcc - W a l l k 1 0 0 a . o k100b - k o l o . o - lm

# cel 2: t y l k o p l i k b

K100b - k o l o . o : k100b - k o l o . h k100b - k o l o . c gcc - W a l l - c k100b - k o l o . c - lm

# cel 3:

# ten cel c z y s c i p r o j e k t z b i n a r i o w c l e a n :

(6)

Składnia makefile

Budowanie celów

# W y b o r k o m p i l a t o r a CC= gcc

# F l a g i k o m p i l a t o r a , k t o r e b e d a sie p o w t a r z a c F L A G S= - W a l l - O3

# b i b l i o t e k i do k o m p i l a c j i L I B S= - lm

# p o w t a r z a n e f r a g m e n t y z o s t a l y z a s t a p i o n e k 1 0 0 : k 1 0 0 a . o k100b - k o l o . o

$ (CC) $ (F L A G S) k 1 0 0 a . o k100b - k o l o . o $ (L I B S)

K100b - k o l o . o : k100b - k o l o . h k100b - k o l o . c

$ (CC) $ (F L A G S) - c k100b - k o l o . c $ (L I B S) c l e a n :

rm - f *. o ./ a . out

(7)

Wywołanie

budowanie projektu m a k e

budowanie danego celu m a k e c l e a n wykorzystanie innego pliku

m a k e - f n a z w a _ p l i k u

(8)

Wywołanie rekurencyjne

pliki są umieszczone w podkatalogach:

+ Makefile + program.c + podkatalog

+ plik.h + plik.c + Makefile budowanie danego celu

p o d k a t a l o g :

cd p o d k a t a l o g && m a k e

Cytaty

Powiązane dokumenty

W przypadku etanolu i wody zaszło zjawisko kontrakcji, czyli zmniejszenia się objętości roztworu podczas mieszania się dwóch cieczy.. W przypadku etanolu i wody zaszło

W naukach technicznych, wydajność maszyny to wielkość pracy, jaką maszyna ta może typowo wykonać w jednostce czasu, w określonych warunkach pracy. Aby ocenić wydajność

Od przyczep i naczep, które łącznie z pojazdem silnikowym posiadają dopuszczalną masę całkowitą równą lub wyŜszą niŜ 12,0 ton, z uwzględnieniem rodzaju zawieszenia

- lista uczniów, którzy lista uczniów, którzy do tej szkoły nie zostali zakwalifikowani, do tej szkoły nie zostali zakwalifikowani, ale uzyskali miejsce w innej wybranej przez

(13) Jeśli parametr P3 jest nastawiony na 0, urządzenie będzie działało tak, jakby parametr A0 był ustawiony na 0, ale nie zapisuje tego alarmu (14) Podczas odszraniania i

St., musimy zgóry zaznaczyć, że nie wchodzimy w roztrząsanie zasad gospodarki oraz zw racam y uwagę, że część spraw ozdaw ­ cza musi być bardzo niekom pletna

a) trzysta dwadzieścia pięć tysięcy sto dwadzieścia osiem. Ilu cyfr potrzeba do zapisania liczby dwanaście miliardów sto tysięcy siedemnaście? Ile wśród nich jest zer? Ile

Brief of Amici Curiae Professors of Constitutional Law and Federal Jurisdiction Advocating Denial of Motion to Dismiss (Reversal), Al-Marri v. 2006) (co- author) (addressing