.PHONY: all clean

SOURCES := file1.c file2.c main.c
HEADERS := file1.h file2.h
OBJECTS := file1.o file2.o main.o
TARGET := myapp

all: $(TARGET)  # 编译最终目标

$(TARGET) : $(OBJECTS)
	gcc -o $@ $^

main.o : main.c $(HEADERS)
	gcc -o $@ -c $<

file1.o : file1.c $(HEADERS)
	gcc -o $@ -c $<

file2.o : file2.c $(HEADERS)
	gcc -o $@ -c $<

clean:  # 清除目标文件
	rm $(OBJECTS)