BIN = ./bin
SRC = ./src
INC = ./include
OBJ = ./obj
SOURCE = $(wildcard ${SRC}/*.c)
OBJECT = $(patsubst %.c,${OBJ}/%.o,$(notdir ${SOURCE}))
TARGET = main
BIN_TARGET = ${BIN}/${TARGET}
CC = gcc
CFLAGS = -g -Wall -I${INC}
${BIN_TARGET}:${OBJECT} | $(BIN)
$(CC) -o $@ ${OBJECT}
${OBJ}/%.o:${SRC}/%.c | $(OBJ)
$(CC) $(CFLAGS) -o $@ -c $<
$(OBJ):
mkdir -p $@
$(BIN):
mkdir -p $@
.PHONY: clean $(OBJ) $(BIN)
clean:
rm -rf $(BIN) $(OBJ)