Jūs esateŽurnalai / Ernestas Kardzys's blog / makefile pavyzdys

makefile pavyzdys


ParašėErnestas Kardzys - 2008 Vasario 20

Jeigu programuojate su C/C++, turbūt dažnai tenka nurodyti daugybę C++ failų g++ programai (kažkas tokio: g++ failas.cpp kitas_failas.cpp desimtas_failas.cpp ir t.t.). Nepatogu. Problemą padės išspręsti makefile failiukas, kuris įvedus make tvarkingai sukompiliuos programą. CC=g++ CFLAGS=-c -Wall LDFLAGS= SOURCES=failas.cpp kitas_failas.cpp dar_vienas_failas.cpp paskutinis_failas.cpp OBJECTS=$(SOURCES:.cpp=.o) EXECUTABLE=programos_pavadinimas all: $(SOURCES) $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) $(CC) $(LDFLAGS) $(OBJECTS) -o $@ .cpp.o: $(CC) $(CFLAGS) $< -o $@ clean: rm -rf *o programos_pavadinimas SOURCES eilutėje, atskirdami tarpu, išvadinkite savo kompiliuojamus failus, EXECUTABLE eilutėje įrašykite sukompiliuotos programos vardą (komanda: g++ -o programos_vardas). Kai norėsite išvalyti katalogą nuo objektinių failų, įveskite make clean Visas smagumas atrodo maždaug taip: $ cd a048/ $ make g++ -c -Wall a048.cpp -o a048.o g++ -c -Wall sorting.cpp -o sorting.o g++ -c -Wall actions.cpp -o actions.o g++ -c -Wall filesystem.cpp -o filesystem.o g++  a048.o sorting.o actions.o filesystem.o -o a048 $ ./a048  $ make clean 

Pasižiūrėsiu. Nebent savaitgalį - darbo dienomis man sunkiai sekas. Labai tingis vakare dar prie kompo sėsti po 8h kompiuterinės darbo dienos :D
Kaip sakoma, nieko nežadu :)

Nezinau, kiek geros tavo zinios sioje srityje, bet su makefilais pastarosiomis dienomis susiduriu pirma karta rimteliau, todel butu labai idomu ka nors rasti ir lietuvishkai. Deja, visagalis googlas geriausia ka rado, tai tavo puslapiuka. Jei tikrai gerai juose gaudaisi, galetum ka nors parasyti? Nes linux'sistu gretos tikrai dideja ir manau kas nors panashaus kaip "Makefailu pradziamokslis zaliems" butu naudingas ir tikrai turetu savo auditorija. Jei tureciau kompetencijos meikuose, pasiulyciau bendradarbiauti, bet kol kas tik beginner levelyje esu ir kremtu eng manualus bei pavyzdukus.

Tai aš ir neverčiau - palikau anglišką :)

Galejai ir labiau sulietuvinti(daugiau paaiskinimu, papildomu galimybiu)
http://mrbook.org/tutorials/make/

Skelbti naują komentarą

Šio laukelio turinys bus laikomas privatus ir nerodomas viešai.
  • Web puslapiu adresai ir el. pašto adresai automatiškai tampa nuorodomis.
  • Leidžiamos HTML žymės: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Linijos ir paragrafai atskiriami automatiškai
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <c>, <cpp>, <drupal5>, <drupal6>, <java>, <javascript>, <php>, <python>, <ruby>. The supported tag styles are: <foo>, [foo].

Daugiau informacijos apie teksto formatavimą

CAPTCHA
Šis klausimas yra skirtas įsitikinti, jog jūs esate žmogus, ir sustabdyti automatinį šlamšto siuntimą.