这个问题可能不是描述我的问题的最好的问题,但我想不出一个更好的问题。我的生成文件是这样的:如何正确地让我的makefile编译并运行?
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)
当我想编译和运行我只是做“运行”。问题在于我的程序处理Ctrl + Z产生的信号,如果我用“make run”启动程序,信号将被发送到“make run”,而不是我的程序本身。
基本上,调用“make run”与直接调用“make & & ./prog”不同,因为在第一种情况下,“make run”不会终止,除非“prog”先终止。
有没有办法解决?
我最好不要使用这种方式,然后... :) – 2009-05-24 15:43:01