"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

0 ответов

Другие вопросы по тегам