blob: ab3a6e297a22def5954461eb3f48365b95b5ea8a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
include setup.mk
CC = gcc
CXX = g++
ifeq ($(TARGET_OS),linux)
LIBS = -Llib -lgif -llua5.3 -lentityx -lpthread -lGL -lGLEW -lfreetype \
-lSDL2 -lSDL2_image -lSDL2_mixer -lSDL2main
endif
ifeq ($(TARGET_OS),win32)
LIBS = -Llib -lgif -llua -lentityx -lopengl32 -lglew32 -lmingw32 \
-lSDL2main -lSDL2 -lSDL2_image -lSDL2_mixer -lfreetype
endif
CXXFLAGS = -ggdb -m$(TARGET_BITS) -std=c++17 -fext-numeric-literals
CXXINC = -Iinclude -Iinclude/freetype -I.
CXXWARN = -Wall -Wextra -Werror -pedantic
CXXSRCDIR = src
CXXOUTDIR = out
CXXSRC = $(wildcard $(CXXSRCDIR)/*.cpp) \
$(wildcard $(CXXSRCDIR)/systems/*.cpp) \
$(wildcard $(CXXSRCDIR)/components/*.cpp)
CXXOBJ = $(patsubst $(CXXSRCDIR)/%.cpp, $(CXXOUTDIR)/%.o, $(CXXSRC)) \
$(patsubst $(CXXSRCDIR)/systems/%.cpp, $(CXXOUTDIR)/systems/%.o, $(CXXSRC)) \
$(patsubst $(CXXSRCDIR)/components/%.cpp, $(CXXOUTDIR)/components/%.o, $(CXXSRC))
EXEC = main
all: SPECIAL:=-ggdb game
game: $(EXEC)
clean:
@echo " CLEAN"
@rm -f $(EXEC)
@rm -rf out
@mkdir out
@mkdir out/systems
@mkdir out/components
@rm -f xml/*.dat
$(EXEC): $(CXXOUTDIR)/$(CXXOBJ)
@echo " CXX/LD main"
@$(CXX) $(SPECIAL) $(CXXFLAGS) $(CXXINC) $(CXXWARN) -o $(EXEC) out/components/*.o out/systems/*.o out/*.o $(LIBS)
$(CXXOUTDIR)/%.o: $(CXXSRCDIR)/%.cpp
@echo " CXX " $<
@$(CXX) $(CXXFLAGS) $(CXXINC) $(CXXWARN) $(LIBS) -c $< -o $@
$(CXXOUTDIR)/%.o: $(CXXSRCDIR)/%.cc
@echo " CXX " $<
@$(CXX) $(CXXFLAGS) $(CXXINC) $(CXXWARN) $(LIBS) -c $< -o $@
|