# Define required macros here SHELL = /bin/sh OBJ = main.o factorial.o hello.o CFLAG = -Wall -g CC = gcc INCLUDE = LIB = -lm hello:${OBJ} ${CC} ${CFLAGS} ${INCLUDES} -o $@ ${OBJS} ${LIBS} clean: -rm -f *.o core *.core .cpp.o: ${CC} ${CFLAGS} ${INCLUDES} -c $< “order-only”依赖的使用举例: LIBS= libtest.a foo : foo.c| $(LIBS) $(CC) $(CFLAGS) $< -o $@ $(LIBS) make在执行这个规则时,如果目标文件“foo”已经存在。当“foo.c”被修改以后,目标“foo”将会被重建,但是当“libtest.a”被修改以后。将不执行规则的命令来重建目标“foo”。 就是说,规则中依赖文件$(LIBS)只有在目标文件不存在的情况下,才会参与规则的执行。当目标文件存在时此依赖不会参与规则的执行过程。 |
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |