小编and*_*lla的帖子

当头文件更改时 GNU-Make 不会重新编译

当 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)

header gnu-make recompile armcc

6
推荐指数
1
解决办法
7075
查看次数

标签 统计

armcc ×1

gnu-make ×1

header ×1

recompile ×1