1 # Makefile de ejemplo para C++
3 # Creado: jue abr 15 15:34:19 ART 2004
5 # Copyleft 2004 - Leandro Lucarella, Bajo licencia GPL [http://www.gnu.org/]
11 # Nombre del ejecutable.
14 # Extensión de los archivos a compilar (c para C, cpp o cc o cxx para C++).
17 # Archivos con el código fuente que componen el ejecutable. Si no se especifica,
18 # toma todos los archivos con la extensión mencionada. Para especificar hay que
19 # descomentar la línea (quitarle el '#' del principio).
20 # NOTA: No poner cabeceras (.h).
21 #fuentes = entrada.cpp
23 # Si es un programa GTK+, descomentá (quitale el '#' a) la siguiente línea.
27 # CONFIGURACION "AVANZADA"
28 ###########################
30 # Opciones para el compilador C.
31 CFLAGS = -Wall -ggdb -ansi -pedantic -DDEBUG
32 #CFLAGS = -Wall -O3 -ansi -pedantic -DNDEBUG -g
34 # Opciones para el compilador C++.
35 #CXXFLAGS = $(CFLAGS) -fno-inline
39 # VARIABLES CALCULADAS A PARTIR DE LA CONFIGURACION
40 ####################################################
42 # Agrego flags y libs de GTK+ de ser necesario.
44 CFLAGS += $(shell pkg-config --cflags gtk+-2.0)
45 CXXFLAGS += $(shell pkg-config --cflags gtk+-2.0)
46 LDFLAGS += $(shell pkg-config --libs gtk+-2.0)
49 # Uso enlazador de c++ si es código no C.
50 ifeq ($(extension), c)
56 # Si no especifica archivos, tomo todos.
57 fuentes ?= $(wildcard *.$(extension))
67 o_files = $(patsubst %.$(extension),%.o,$(fuentes))
70 $(enlazador) $(LDFLAGS) $(o_files) $(LOADLIBES) $(LDLIBS) -o $(target)
73 @$(RM) -fv *.o $(target)