Files
chess-c/Makefile
2023-12-28 21:31:26 +01:00

33 lines
577 B
Makefile

CC = gcc
CFLAGS = -Wall -g
SRCDIR = src
BUILDDIR = build
TARGET = main
SOURCES = $(wildcard $(SRCDIR)/**/*.c $(SRCDIR)/*.c)
OBJECTS = $(patsubst $(SRCDIR)/%.c, $(BUILDDIR)/%.o, $(SOURCES))
ifeq ($(OS),Windows_NT)
EXECUTABLE = $(BUILDDIR)/$(TARGET).exe
RM = del /Q
MKDIR = mkdir
else
EXECUTABLE = $(BUILDDIR)/$(TARGET)
RM = rm -rf
MKDIR = mkdir -p
endif
all: $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CC) $(CFLAGS) -o $@ $^
$(BUILDDIR)/%.o: $(SRCDIR)/%.c
@$(MKDIR) -p $(@D)
$(CC) $(CFLAGS) -c -o $@ $<
clean:
$(RM) $(BUILDDIR)/*
.PHONY: clean