Probablemente la pregunta no sea la mejor para describir mi problema, pero no puedo pensar en una mejor. Mi makefile es la siguiente:¿Cómo hacer que mi archivo MAKE se compile y ejecute correctamente?
PROGRAM_NAME = prog
OBJECT_FILES = $(PROGRAM_NAME).o
CFLAGS = -O2 -Wall -g
$(PROGRAM_NAME) : $(OBJECT_FILES)
gcc $(CFLAGS) -o [email protected] $(OBJECT_FILES)
$(PROGRAM_NAME).o : $(PROGRAM_NAME).c data.h
gcc $(CFLAGS) -c $<
clean :
$(RM) $(PROGRAM_NAME)
$(RM) $(OBJECT_FILES)
$(RM) *~ *.bak
run :
@$(MAKE) && ./$(PROGRAM_NAME) $(ARGS)
Cuando quiero compilar y ejecutar acabo de hacer "hacer carrera". El problema con esto es que mi programa maneja la señal producida por Ctrl + Z y si comienzo mi programa con "make run", la señal se enviará a "make run" y no a mi propio programa.
Básicamente, llamando a "hacer carrera" no es el mismo que llamar directamente "hacer & & ./prog" porque en el primer caso, "hacer carrera" no va a terminar a menos que "PROG" termina primero.
¿Hay alguna forma de evitar esto?
mejor no usarlo de esta manera entonces ... :) –