"dmake" не перекомпилируется при изменении файла заголовка
Я пытаюсь ускорить компиляцию моего проекта, избегая перекомпиляции исходных файлов, которые не были изменены. При этом я также хочу убедиться, что при изменении файла заголовка исходные файлы, включая этот заголовок, также будут перекомпилированы.
Я добился этого с помощью "make", но я не могу понять, как сделать то же самое с помощью "dmake".
Мои исходные файлы:
hellomake.c
#include <stdio.h>
#include <hellomake.h>
int main() {
printf("\n%d",VALUE);
return(0);
}
hellomake.h
#define VALUE 1
Makefile
CC=gcc
CFLAGS=-I.
DEPS=hellomake.h
OBJ=hellomake.o
%.o: %.c $(DEPS)
$(CC) -c -o $@ $< $(CFLAGS)
hellomake: $(OBJ)
gcc -o $@ $^ $(CFLAGS)
Я использую Windows7 с Cygwin. В оболочке Cygwin, если я скомпилирую с помощью команды "make", просто изменение значения define VALUE приведет к перекомпиляции файла hellomake.c. К сожалению, этого не произойдет, если я скомпилирую с помощью "dmake -B" (опция "-B" из руководства: "Включить использование пробелов вместо табуляции для начала строк рецепта").
Я использую "make" и "dmake" в версии:
$ dmake -V
dmake.exe - Copyright (c) 1990,...,1997 by WTI Corp., Version 4.10, PL 0
$ make -v
GNU Make 4.2.1
Built for x86_64-unknown-cygwin