Инкрементная сборка - перестраивать файл.o только при изменении файла.c или.h с использованием файла зависимостей.d
Мой make-файл в настоящее время работает нормально, так как он создает файлы.o для всех файлов.c в разных каталогах и создает исполняемый файл. Если я делаю изменения в любом файле.c, то после сборки он просто компилирует только те измененные файлы.c. Это отлично. Но если я внесу изменения в любой файл.h, то все зависимые файлы.c должны быть перестроены. Но это не так, поскольку файл зависимостей генерируется, но не сопоставляется с ним. Поэтому, пожалуйста, помогите мне сделать это.
У меня есть файлы зависимостей (.d) в выходном каталоге. Я хочу, чтобы он соответствовал цели в главном make-файле, чтобы при изменениях в любом файле.h, зависимый файл.c был перезапущен. Это какая-то часть моего кода...
это мой код конверсии.c в.o:
%.$(OBJ_FILE_SUFFIX) : %.$(C_FILE_SUFFIX)
@echo ********************************************************
@echo Compiling $< ...
@echo Generating $(OBJECT_OUTPUT_PATH)/$@ ...
@$(CC) $(CFLAGS) $(C_DEF_PARAM) @$(INCLUDE_PATHS_FILE) $< -o $(OBJECT_OUTPUT_PATH)/$@
@echo Done ...
Он работает нормально, если какие-либо изменения сделаны в файле.c, только этот файл перекомпилируется, но с файлом.h не происходит. Спасибо.