[eside-ghost] Problemas para hacer un makefile ligeramente complejo
Asier González
3asgonza en rigel.deusto.es
Sab Nov 21 13:36:34 CET 2009
¿Podrías ponerme un ejemplo sencillo de esa forma?, yo la verdad es que
no controlo mucho con la consola, ni creando script de bash.
Un Saludo.
Egoitz Aurrekoetxea Aurre escribió:
> 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
>>
>
> _______________________________________________
> 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