40 lines
943 B
Makefile
40 lines
943 B
Makefile
CC = g++
|
|
CFLAGS = -Wall
|
|
EXE = DarkRP2D
|
|
LIB_PATH = lib/
|
|
INC_PATH = include/
|
|
LIBS = -lmingw32 -lSDL2main -lSDL2 -lbox2d -lentityx
|
|
|
|
SRCDIR = src
|
|
BUILDDIR = build
|
|
SRCDIRS := $(shell C:\\MinGW\\msys\\1.0\\bin\\find src/**/* -name '*.cpp' -exec dirname {} \; | sort | uniq)
|
|
BUILDLIST := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SRCDIRS))
|
|
SRC = $(shell C:\\MinGW\\msys\\1.0\\bin\\find $(SRCDIR) -type f -name *.cpp)
|
|
OBJ := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SRC:.cpp=.o))
|
|
|
|
.PHONY: all clean build run debug
|
|
|
|
all: build $(EXE) copyDLLs
|
|
|
|
run: all
|
|
$(BUILDDIR)/$(EXE)
|
|
|
|
$(EXE): $(OBJ)
|
|
$(CC) $(CFLAGS) -o $(BUILDDIR)/$@ $^ -L$(LIB_PATH) $(LIBS) -static-libgcc -static-libstdc++
|
|
|
|
$(BUILDDIR)/%.o: $(SRCDIR)/%.cpp
|
|
@mkdir -p $(BUILDLIST)
|
|
$(CC) $(CFLAGS) -c $< -o $@ -I$(INC_PATH)
|
|
|
|
build:
|
|
C:\\MinGW\\msys\\1.0\\bin\\mkdir -p $(BUILDDIR)
|
|
|
|
copyDLLs:
|
|
C:\\MinGW\\msys\\1.0\\bin\\cp dlls/* build/
|
|
|
|
clean:
|
|
rm -rf $(BUILDDIR)
|
|
|
|
debug:
|
|
@echo $(BUILDLIST)
|