BIN := ./bin
SRC := ./src
INC := ./include
OBJ := ./objs
ALL_SOURCES := $(wildcard $(SRC/*.c)
ALL_OBJECTS := $(patsubst %.c,%.o,$(notdir $(ALL_SOURCES)))
OBJECTS := $(foreach file,$(ALL_OBJECTS), $(OBJ)/$(file))
MODULE := main
TARGET := $(BIN)/$(MODULE)
CC := gcc
CFLAGS := -g -Wall -I$(INC)
$(TARGET):$(OBJECTS)
$(CC) $(CFLAGS) -o $@ $^
$(OBJECTS):$(OBJ)/%.o:$(SRC)/%.c
$(CC) $(CFLAGS) -o $@ -c $<
.PHONY:clean
clean:
#find $(OBJ) -name *.o -exec rm -rf {}\;
rm -rf $(OBJECTS)
rm -rf $(TARGET)
目录结构:
文件结构: