Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Makefiles

Estas en el tema de Makefiles en el foro de C/C++ en Foros del Web. Buenas. Tengo un programa dividido en varios subdirectorios, y lo que quiero es poner en el directorio raiz un makefile que al ejecutarlo llame a ...
  #1 (permalink)  
Antiguo 05/06/2011, 18:06
poi
 
Fecha de Ingreso: octubre-2008
Mensajes: 73
Antigüedad: 15 años, 6 meses
Puntos: 2
Makefiles

Buenas.
Tengo un programa dividido en varios subdirectorios, y lo que quiero es poner en el directorio raiz un makefile que al ejecutarlo llame a los makefiles de los subdirectorios correspondientes, pero no se con que orden se hace esto dentro del makefile.

Gracias
  #2 (permalink)  
Antiguo 05/06/2011, 20:32
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Makefiles

Yo crearia un Makefile por directorio. Y despues haria un makefile que llame a los otros makefile internos.

Especificamente cual es tu duda?? como crear archivos makefile o como trabajar con directorios??
  #3 (permalink)  
Antiguo 06/06/2011, 04:19
poi
 
Fecha de Ingreso: octubre-2008
Mensajes: 73
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Makefiles

Eso es lo que quiero hacer, pero una vez tengo los makefiles en cada directorio, que funcionan bien, como creo el makefile principal para que llame a estos?.
Otra cosa, cuando ejecuto los makefiles que no tienen que construir ningun main, los que se encuentran en los subdirectorios, que solo generan los .o de unas librerias, me sale el error: 'undefined reference to `main' '

Gracias

Última edición por poi; 06/06/2011 a las 05:46
  #4 (permalink)  
Antiguo 06/06/2011, 10:14
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Makefiles

Los que contruyes los archivos objetos ".o" deberias compilarlo con la opcion -c...para que no haga el link, solo contruyes el codigo.

Para el makefile principal lo he visto de dos maneras diferentes, dependiendo el sistema operativo:
Linux:
cd micarpeta ; make
Windows:
cd micarpeta && make

No tienes que hacer el cd.. para salir del directorio. de eso se ocupa el make
  #5 (permalink)  
Antiguo 06/06/2011, 11:24
poi
 
Fecha de Ingreso: octubre-2008
Mensajes: 73
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Makefiles

Vale lo del makefile princiapl me ha quedado claro, lo que no entiendo muy bien es lo de construir sin main.
Yo por ejemplo tengo en un directorio: clase.cc clase.h
y en el make pongo esto para construirlo:

Clase.o: lib/Clase.cc include/Clase.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o lib/Clase.o lib/Clase.cc

Pero poniendo esto si genero los archivos .o pero me sale el error de que no se encuentra el main.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:02.