.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 $@ $^

# 自定义静态模式规则1
main.o : %.o : %.c
	gcc -o $@ -c $<
	echo "pattern rule 1..."

# 自定义静态模式规则2
file1.o file2.o : %.o : %.c $(HEADERS)
	gcc -c $< -I.
	echo "pattern rule 2..."

clean:  # 清除目标文件
	rm $(OBJECTS)