.PHONY: all clean

SOURCES := file1.c file2.c main.c
HEADERS := file1.h file2.h
OBJECTS := file1.o file2.o main.o
TARGET := myapp

# 修改隐含规则的变量，更改编译命令
CC = gcc
CFLAGS = -g -Wall

all: $(TARGET)  # 编译最终目标

$(TARGET) : $(OBJECTS)
	gcc -o $@ $^

# 自定义模式规则
%.o : %.c $(HEADERS)
	gcc -o $@ -c $<
	echo "compiling $@, % is $* ..."

clean:  # 清除目标文件
	rm $(OBJECTS)