40 lines
859 B
Makefile
40 lines
859 B
Makefile
# Compiler
|
|
CC = gcc
|
|
|
|
# Paths
|
|
SRC_DIR = src
|
|
BUILD_DIR = build
|
|
OUT = main.exe
|
|
|
|
# Source files
|
|
SRC = \
|
|
$(SRC_DIR)\main.c \
|
|
$(SRC_DIR)\net.c \
|
|
$(SRC_DIR)\event.c \
|
|
$(SRC_DIR)\player.c
|
|
|
|
# Object files
|
|
OBJ = $(patsubst $(SRC_DIR)\%.c, $(BUILD_DIR)\%.o, $(SRC))
|
|
|
|
# Include and linker flags
|
|
INCLUDE_FLAGS = -IC:/msys64/mingw64/include
|
|
LIBS = -LC:/msys64/mingw64/lib -static -lws2_32 -lSDL2main -lSDL2 -lwinmm -limm32 -lole32 -loleaut32 -lversion -lsetupapi -lgdi32 -lshell32 -luser32 -mconsole
|
|
CFLAGS = -Wall -Wextra -g $(INCLUDE_FLAGS)
|
|
LDFLAGS = $(LIBS)
|
|
|
|
# Default target
|
|
all: $(OUT)
|
|
|
|
$(OUT): $(OBJ)
|
|
$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
|
|
|
|
# Compile each .c into .o
|
|
$(BUILD_DIR)\%.o: $(SRC_DIR)\%.c
|
|
@if not exist $(BUILD_DIR) mkdir $(BUILD_DIR)
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
# Clean
|
|
clean:
|
|
del /Q $(BUILD_DIR)\*.o 2>nul || exit 0
|
|
del /Q $(OUT) 2>nul || exit 0
|