On 9/20/07, Leonardo Mosquera <[EMAIL PROTECTED]> wrote:
> On 9/20/07, personaje <[EMAIL PROTECTED]> wrote:
>
> > debug: OUTDIR = Debug/
> > debug: $(OUTDIR)$(TARGET)
> >
> > parece que cuando calcula las dependencias de las reglas implícitas
> > (que no las tengo implícitas) OUTDIR todavía no está definida...
> > alguna idea?
> >
>
> No necesitas asignar variables en producciones; si pones asignaciones
> afuera, actuan como variables globales a todas las producciones, y ya estan
> definidas para cuando se corren los comandos.
si, pero qué puedo hacer si quiero que OUTDIR cambie según el target
que llamo desde línea de comandos?
ejemplo
--------------------8<--------------------8<--------------------8<--------------------8<--------------------
debug: OUTDIR = Debug/
debug: CXXFLAGS = -g
debug: main
# ... bla bla
release: OUTDIR = Release/
release: CXXFLAGS = -O2
debug: main
# ... bla bla
main: $(OBJS)
$(CXX) -o $(OUTDIR)main $(OBJS)
%.o : %.cpp
$(CXX) $(CXXFLAGS) -c -o $(OUTDIR)/$@ $<
# y para complicarlo
-include $(OUTDIR)/dependencias
--------------------8<--------------------8<--------------------8<--------------------8<--------------------
entonces, si hago:
make debug (compila con info de debug y salida en Debug/)
make release (compila optimizando y salida en Release/)
eso es lo que busco...
Saludos
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion