.PHONY: all clean

SOURCES := $(wildcard *.c)
HEADERS := ${wildcard *.h}
# 使用 SOURCE 中的值生成目标文件
OBJECTS := $(patsubst %.c,%.o,${SOURCES})
TARGET := myapp

CC = gcc
CFLAGS = -g -Wall

all: $(TARGET)

$(TARGET) : $(OBJECTS)
	gcc -o $@ $^

%.o : %.c $(HEADERS)
	gcc -o $@ -c $<

clean:
	rm $(OBJECTS)