相关疑难解决方法(0)

如何让Makefile重新编译已更改的文件?

我一直在努力让make只编译已经编辑过的文件.但是我没有太大成功,所有文件都被重新编译.有人能解释一下为什么吗?

我的文件是:

main.c
a_functions.c
Run Code Online (Sandbox Code Playgroud)

其中main.c包含main.ha_functions.c包含

这是我的makefile:

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)
Run Code Online (Sandbox Code Playgroud)

根据建议更改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
Run Code Online (Sandbox Code Playgroud)

c makefile recompile

58
推荐指数
2
解决办法
6万
查看次数

标签 统计

c ×1

makefile ×1

recompile ×1