🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.os.linux.programacion
6 messages
6 total messages Started by Dr. Slump Sat, 07 Aug 1999 00:00
Ayuda en gcc...
#18627
Author: Dr. Slump
Date: Sat, 07 Aug 1999 00:00
19 lines
981 bytes
Hola,

Estoy compilando un programa que he echo y utiliza varios directorios...
Los fuentes estan esparicdos por varios directorios...
A la hora de compilar, quiero que todos los ficheros objeto ".o" se me
guarden en un mismo directorio..., llamdos "obj"

Como se hace esto ?.
Es decir, sea una linia:
    $(CC) -I$(SOURCES)basic -c $(SOURCES)basic/*.cpp

Como le indico que el archivo ".o" de salida "sea qual sea su nombre" se me
guarde en un determinado directorio ???

Muchas gracias

------------------------------
Ricard
slump@apdo.com
Re: Ayuda en gcc...
#18634
Author: Ignacio Arenaza
Date: Sat, 07 Aug 1999 00:00
16 lines
943 bytes
>>>>> "Slump" == Slump  <slump@apdo.com> writes:

    Slump> Como se hace esto ?.  Es decir, sea una linia: $(CC)
    Slump> -I$(SOURCES)basic -c $(SOURCES)basic/*.cpp

    Slump> Como le indico que el archivo ".o" de salida "sea qual sea
    Slump> su nombre" se me guarde en un determinado directorio ???


$(CC) -I$(SOURCES)basic -c $(SOURCES)basic/*.cpp -o /dir_para_dejar/fich.o

Saludos. I�aki.

-- 
  PGP Key available at http://personales.jet.es/inaki.arenaza/pgpkey.html
  Linux Registered User #44369
Re: Ayuda en gcc...
#18557
Author: Dr. Slump
Date: Mon, 09 Aug 1999 00:00
31 lines
1507 bytes
>     Slump> Como se hace esto ?.  Es decir, sea una linia: $(CC)
>     Slump> -I$(SOURCES)basic -c $(SOURCES)basic/*.cpp
> 
>     Slump> Como le indico que el archivo ".o" de salida "sea qual sea
>     Slump> su nombre" se me guarde en un determinado directorio ???
> 
> 
> $(CC) -I$(SOURCES)basic -c $(SOURCES)basic/*.cpp -o
/dir_para_dejar/fich.o
> 

Gracias, pero no me sirve...

Veras, no puedo poner el nombre del fichero de salida "/fich.o" porque yo
no se a priori qual sera este.
Esto es, porque como puede verse en la linia, estoy compilando todos los
"*.cpp", esto es, no solo un fichero individual, sino muchos ficheros
juntos.
Lo que me gustaria seria algo asi:
	$(CC) -I$(SOURCES)basic -c $(SOURCES)basic/*.cpp -o /dir_para_dejar/
o asi
	$(CC) -I$(SOURCES)basic -c $(SOURCES)basic/*.cpp -o /dir_para_dejar/*.o

Es decir, especificar solo el directorio de salida de los "*.o",  sin
especificar individualmente cada nombre...
Es posible hacer esto ???

Gracias
----------------------------
Ricard
slump@apdo.com
Re: Ayuda en gcc...
#18559
Author: AnimAlf
Date: Mon, 09 Aug 1999 00:00
30 lines
1595 bytes
"Dr. Slump" escribi�:
> 
> Es decir, especificar solo el directorio de salida de los "*.o",  sin
> especificar individualmente cada nombre...
> Es posible hacer esto ???
> 

No se me ocurre la forma de hacerlo directamente

puedes crear una orden del make que te los mueva, circulando por los
directorios del proyecto.

mover_o:$(DIRECTORIOS)
		mv $(DIRECTORIOS)/*.o $(EL_DIRECTORIO)

O mejor copiar en vez de mover, para no perder una de las
caracteristicas del make que comprueba la fecha de los archivos para no
volverlos a generar si no es necesario.

Luego puedes hacer que se ejecute antes del linkado final que coger� los
archivos.o del �nico directorio o despu�s de la generaci�n de �stos
(autom�ticamente claro).

Saludos
-------------------------------,
AnimAlf    animalf@mixmail.com |-,
http://www.fut.es/~acl/AnimAlf | |
Linux Registered User #91326   | |
PublicPGPkeyID 0xB3B41215      | |
Is the truth out there?        | |
RE: Ayuda en gcc...
#18565
Author: Paco
Date: Tue, 10 Aug 1999 00:00
30 lines
1424 bytes
Si escribes una regla para cada objeto que quieras crear, adem�s de
conseguir tu objetivo, tendr�s un Makefile mucho m�s claro.
Aunque tengas muchos fuentes, cr�eme, vale la pena poner una regla para cada
uno.

Dr. Slump <slump@apdo.com> escribi� en el mensaje de noticias
7ogveg$58r$1@diana.bcn.ttd.net...
> Hola,
>
> Estoy compilando un programa que he echo y utiliza varios directorios...
> Los fuentes estan esparicdos por varios directorios...
> A la hora de compilar, quiero que todos los ficheros objeto ".o" se me
> guarden en un mismo directorio..., llamdos "obj"
>
> Como se hace esto ?.
> Es decir, sea una linia:
>     $(CC) -I$(SOURCES)basic -c $(SOURCES)basic/*.cpp
>
> Como le indico que el archivo ".o" de salida "sea qual sea su nombre" se
me
> guarde en un determinado directorio ???
>
> Muchas gracias
>
> ------------------------------
> Ricard
> slump@apdo.com
>
>
>
Re: Ayuda en gcc...
#18567
Author: Ignacio Arenaza
Date: Tue, 10 Aug 1999 00:00
41 lines
1979 bytes
>>>>> "Slump" == Slump  <slump@apdo.com> writes:

    Slump> Como se hace esto ?.  Es decir, sea una linia: $(CC)
    Slump> -I$(SOURCES)basic -c $(SOURCES)basic/*.cpp
    >>
    Slump> Como le indico que el archivo ".o" de salida "sea qual sea
    Slump> su nombre" se me guarde en un determinado directorio ???
    >> 
    >> 
    >> $(CC) -I$(SOURCES)basic -c $(SOURCES)basic/*.cpp -o
    Slump> /dir_para_dejar/fich.o
    >>

    Slump> Gracias, pero no me sirve...

    Slump> Veras, no puedo poner el nombre del fichero de salida
    Slump> "/fich.o" porque yo no se a priori qual sera este.  Esto
    Slump> es, porque como puede verse en la linia, estoy compilando
    Slump> todos los "*.cpp", esto es, no solo un fichero individual,
    Slump> sino muchos ficheros juntos.  Lo que me gustaria seria algo

Vamos, lo que quieres es compilar cada fichero por separado y dejar su
o por separado. Entonces, una forma mas adecuada seria crear una
regla de dependencia (

    .c.o:
        $(CC) -I$(SOURCES)basic -c $(SOURCES)basic/$< -o $(OBJECTS)/$@

(se supone que en $OBJECTS tienes el directorio de destino)

Y luego solo tienes que indicar que ficheros dependen de los .o
adecuados y el resto es automatico.

Saludos. I�aki.

P.D. En la pagina info de make hay _TONELADAS_ de informacion al
respecto, con abundantes ejemplos.

-- 
  PGP Key available at http://personales.jet.es/inaki.arenaza/pgpkey.html
  Linux Registered User #44369
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads