編集されたファイルだけをコンパイルするためにmakeを取得するのに少し苦労しています。しかし、私はあまり成功せず、すべてのファイルが再コンパイルされます。誰かが私に理由を説明できますか?
私のファイルは次のとおりです。
main.c
a_functions.c
ここで、main.cにはmain.hが含まれ 、a_functions.cにはahが含まれます
これが私のmakefileです:
CC=gcc
CFLAGS=-Wall -I. -c
EXEC_FILE=program1
all: program
a_functions.o: a_functions.c
a_functions.c: a.h
main.o: main.c
main.c: main.h
objects: a_functions.c main.c
$(CC) a_functions.c main.c $(CFLAGS)
program: a_functions.o main.o
$(CC) a_functions.o main.o -o $(EXEC_FILE)
提案に従ってmakefileを変更すると、同じ問題が発生するようです::
all: program
a_functions.o: a_functions.c a.h
gcc a_functions.c -c
main.o: main.c main.h
gcc main.c -c
program: a_functions.o main.o
gcc a_functions.o main.o -o program1