[eside-ghost] Problemas para hacer un makefile ligeramente complejo
Egoitz Aurrekoetxea Aurre
egoitz en ramattack.net
Sab Nov 21 09:12:11 CET 2009
Buenas,
Los flags que usas no tienen nada del otro mundo así que si haces...
un make.sh que cambie de directorio y haga en cada uno un make y la
acción.. el clean o lo que sea? por ejemplo el make install que haga
el make en el sitio y después o con install o con cp los mueves a
obj??... me refiero yo lo haría simple.... si hacer el makefile es mas
costoso para que vaya a varios sitios... yo haría algo así... usa una
shell como sh que tiene cualquier sistema operativo y listo :)
Salu2!
El 20/11/2009, a las 21:42, Asier González escribió:
> Veréis es que tengo un problema a la hora de generar un Makefile de
> unos
> fuentes en C++. Si fuera en la misma carpeta no habría problema porque
> si tuviera esta estructura:
>
> /home/user/proyecto/
> /main.cpp
> /cabecera1.h
> /cabecera2.h
> /fuente1.cpp
> /fuente2.cpp
>
> Makefile:
> -- INICIO --
> CC=g++
> DFLAGS=-c -ggdb -Wall
> CFLAGS=-c -O3 -Wall
> FLAGS=DFLAGS
> OBJ=main.o fuente1.o fuente2.o
>
> proyecto: $(OBJ)
> $(CC) $(OBJ) -o proyecto
>
> main.o: main.c cabecera1.h
> $(CC) $(FLAGS) main.cpp cabecera1.h
>
> fuente1.o: fuente1.c cabecera1.h cabecera2.h
> $(CC) $(FLAGS) fuente1.c cabecera1.h cabecera2.h
>
> fuente2.o: fuente2.c cabecera2.h
> $(CC) $(FLAGS) fuente2.c cabecera2.h
>
> clean:
> rm -f -r *~
> rm -f -r *.o
>
> clean_all:
> rm -f -r *~
> rm -f -r *.o
> rm -f -r *~.c
> rm -f -r *~.h
> rm -f -r proyecto
> -- FIN --
>
> Aparentemente así salvo error, me funcionaria bien, si estuviera
> todo en
> un directorio.
>
> Pero quiero estructurarlo de la siguiente forma:
>
> /home/user/proyecto/
> /bin/
> /proyecto
> /obj/
> /main.o
> /fuente1.o
> /fuente2.o
> /src/
> /main.cpp
> /carpeta1/
> /cabecera1.h
> /fuente1.cpp
> /carpeta2/
> /cabecera2.h
> /fuente2.cpp
>
> Tendría que hacer un makefile bastante más complejo, este estaría
> situado en /home/user/proyecto/ , pero el problema es que no se ni por
> donde empezar, he estado mirando tutorial sobre make, pero solo lo
> hacen
> para un solo directorio, o son excesivamente complejos.
>
> Haber si me podríais echar una manita, gracias.
>
> Un Saludo.
>
> PD: Espero que se vea bien como he estructurado los directorios.
> _______________________________________________
> eside-ghost mailing list
> eside-ghost en listas.deusto.es
> https://listas.deusto.es/mailman/listinfo/eside-ghost
Más información sobre la lista de distribución eside-ghost