Jūs esate

makefile pavyzdys

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 

Komentarai

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

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

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.

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 :)

Komentuoti