Makefile, работающий с заголовочными файлами

Вот мой make-файл:

CC=gcc
CFLAGS=-Wall -O3
SRCS = $(wildcard *.c)
EXES = $(patsubst %.c,%,$(SRCS))
.c.o:
        $(CC) $(CFLAGS) -c $<
SRC_CODE=\
        file1.c\
        file2.c\
        file.h
SOFI2D_OBJ=$(SRC_CODE:%.c=%.o)
sofi2D: $(SOFI2D_OBJ)
        $(CC) $^ -o $@
clean:
        rm -rf *.o *.o* *~ $(EXES)   
all: clean sofi2D

Интересно, как заголовочный файл (.h) играет роль в компиляции? Потому что все операции над файлами.c...

1 ответ

Заголовочный файл используется компилятором C, а не make.

Если вы хотите, чтобы.c файлы были перестроены, если file.h изменения, то вам нужно изменить определение SRC_CODE:

SRC_CODE = file1.c file2.c
$(SRC_CODE): file.h
Другие вопросы по тегам