当 hdr.h 文件更改时,GNU-Make 不会重新编译。如下打印行,即使生成了 main.d 文件,它也没有尝试重新编译。你能指导我为什么会这样吗?
hdr.h
#ifndef __HDR_H__
#define LOOP_CNT 1000
#endif /* __HDR_H__ */
Run Code Online (Sandbox Code Playgroud)
主文件
#include <stdio.h>
#include "hdr.h"
int main(void)
{
int i, sum = 0;
for (i = 0; i < LOOP_CNT; i++) sum += i;
(void)printf("sum = %d\n", sum);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
生成文件
SUFFIXES += .d
.PHONY: clean
OBJECTS = $(patsubst %.c,%.o,$(wildcard *.c))
CC = armcc
LD = armcc
CFLAGS +=
# Default target
all: sum
sum : $(OBJECTS)
$(CC) $(CFLAGS) -o $@ $^
$(OBJECTS) …Run Code Online (Sandbox Code Playgroud)