当前位置: 技术问答>linux和unix
makefile后缀规则问题
来源: 互联网 发布时间:2016-05-15
本文导语: 有关下面这段代码: .SUFFIXES: .SUFFIXES: .o .exe .bin .c .c.o : $ {ALL_INCL} cc $(CFLAGS_PACK) $*.c #mv $*.o $(OBJECT_DIR)/ ...
有关下面这段代码:
.SUFFIXES:
.SUFFIXES: .o .exe .bin .c
.c.o : $ {ALL_INCL}
cc $(CFLAGS_PACK) $*.c
#mv $*.o $(OBJECT_DIR)/
cp $*.o $(OBJECT_DIR)/
.c.bin:
cc -o $(EXECUTE_DIR)/$* $(OBJECT_DIR)/$*.o $(LIBRARY_ALL)
.c.exe:
make $*.o
make $*.bin
rm $(OBJECT_DIR)/$*.
请教:
1、.SUFFIXES:后缀规则在这里面定义.SUFFIXES: .o .exe .bin .c的作用是什么?
2、有关后缀规则在中看到一段话不太理解,如下
后缀规则不允许任何的依赖文件,如果有依赖文件的话,那就不是后缀规则,那些后缀统统被认为是文件名,
如: .c.o: foo.h
$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $
.SUFFIXES:
.SUFFIXES: .o .exe .bin .c
.c.o : $ {ALL_INCL}
cc $(CFLAGS_PACK) $*.c
#mv $*.o $(OBJECT_DIR)/
cp $*.o $(OBJECT_DIR)/
.c.bin:
cc -o $(EXECUTE_DIR)/$* $(OBJECT_DIR)/$*.o $(LIBRARY_ALL)
.c.exe:
make $*.o
make $*.bin
rm $(OBJECT_DIR)/$*.
请教:
1、.SUFFIXES:后缀规则在这里面定义.SUFFIXES: .o .exe .bin .c的作用是什么?
2、有关后缀规则在中看到一段话不太理解,如下
后缀规则不允许任何的依赖文件,如果有依赖文件的话,那就不是后缀规则,那些后缀统统被认为是文件名,
如: .c.o: foo.h
$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $