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

crear archivo makefile

Estas en el tema de crear archivo makefile en el foro de C/C++ en Foros del Web. Quiero crear un archivo makefile pero para que compile dos programas distintos en el mismo archivo, he echo esto: Código: .SUFFIXES: .o .c .c.o: $(CC) ...
  #1 (permalink)  
Antiguo 25/01/2013, 13:31
 
Fecha de Ingreso: mayo-2012
Mensajes: 14
Antigüedad: 11 años, 11 meses
Puntos: 0
crear archivo makefile

Quiero crear un archivo makefile pero para que compile dos programas distintos en el mismo archivo, he echo esto:

Código:
.SUFFIXES: .o .c
.c.o:
	$(CC) -c $(CFLAGS) $<

# Macros

CC = gcc
CFLAGS = -g -W -Wall  
SRC = mainOrd.c funOyB.c auxOyB.c auxOrd.c auxOrd.h tabla.h auxOrd.h funOyB.h auxOyB.h
OBJ =  mainOrd.o funOyB.o auxOyB.o auxOrd.o
SRC = mainBus.c funOyB.c auxOyB.c auxBus.c auxBus.h tabla.h auxBus.h funOyB.h auxOyB.h
OBJ =  mainBus.o funOyB.o auxOyB.o auxBus.o

# Reglas explicitas

ordena: $(OBJ)
	$(CC) $(CFLAGS) -o ordena $(OBJ)
busca: $(OBJ)
	$(CC) $(CFLAGS) -o busca $(OBJ)
clean:
	$(RM) $(OBJ) ordena busca


# Reglas implicitas

mainOrd.o: mainOrd.c funOyB.h auxOyB.h auxOrd.h tabla.h
funOyB.o: funOyB.c funOyB.h tabla.h
auxOyB.o: auxOyB.c tabla.h auxOyB.h
auxOrd.o: auxOrd.c auxOyB.h tabla.h auxOrd.h
mainBus.o: mainBus.c funOyB.h auxOyB.h auxBus.h tabla.h
auxBus.o: auxBus.c auxOyB.h tabla.h auxBus.h
Pero parece no funcionar, he buscado información por internet y no encuentro nada, a ver si podeis echarme una mano, lo agradecería bastante.
  #2 (permalink)  
Antiguo 25/01/2013, 15:54
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: crear archivo makefile

Deberias combiar los nombres a algunas variables:

Código MakeFile:
Ver original
  1. .SUFFIXES: .o .c
  2. .c.o:
  3.     $(CC) -c $(CFLAGS) $<
  4.  
  5. # Macros
  6.  
  7. CC = gcc
  8. CFLAGS = -g -W -Wall  
  9. SRC = mainOrd.c funOyB.c auxOyB.c auxOrd.c auxOrd.h tabla.h auxOrd.h funOyB.h auxOyB.h
  10. OBJ =  mainOrd.o funOyB.o auxOyB.o auxOrd.o
  11.  
  12. SRCB = mainBus.c funOyB.c auxOyB.c auxBus.c auxBus.h tabla.h auxBus.h funOyB.h auxOyB.h
  13. OBJB =  mainBus.o funOyB.o auxOyB.o auxBus.o
  14.  
  15. # Reglas explicitas
  16.  
  17. ordena: $(OBJ)
  18.     $(CC) $(CFLAGS) -o ordena $(OBJ)
  19. busca: $(OBJB)
  20.     $(CC) $(CFLAGS) -o busca $(OBJB)
  21. clean:
  22.     $(RM) $(OBJ) ordena busca
  23.  
  24.  
  25. # Reglas implicitas
  26.  
  27. mainOrd.o: mainOrd.c funOyB.h auxOyB.h auxOrd.h tabla.h
  28. funOyB.o: funOyB.c funOyB.h tabla.h
  29. auxOyB.o: auxOyB.c tabla.h auxOyB.h
  30. auxOrd.o: auxOrd.c auxOyB.h tabla.h auxOrd.h
  31. mainBus.o: mainBus.c funOyB.h auxOyB.h auxBus.h tabla.h
  32. auxBus.o: auxBus.c auxOyB.h tabla.h auxBus.h

lLa variable OBJ es reemplazada cuando la definis por segunda vez. Con cambiarle el nombre alcanza...

Etiquetas: funcion, int, programa
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 15:20.