我一直在努力让 make 只编译已编辑的文件。但是我没有取得太大的成功,所有文件都被重新编译。有人可以解释我为什么吗?
我的文件是:
main.c
a_functions.c
其中main.c包括main.h 和a_functions.c包括ah
这是我的生成文件:
CC=gcc
CFLAGS=-Wall -I. -c
EXEC_FILE=program1
all: program
a_functions.o: a_functions.c
a_functions.c: a.h
main.o: main.c
main.c: main.h
objects: a_functions.c main.c
$(CC) a_functions.c main.c $(CFLAGS)
program: a_functions.o main.o
$(CC) a_functions.o main.o -o $(EXEC_FILE)
根据建议更改makefile似乎有同样的问题::
all: program
a_functions.o: a_functions.c a.h
gcc a_functions.c -c
main.o: main.c main.h
gcc main.c -c
program: a_functions.o main.o
gcc a_functions.o main.o -o program1