forked from graphitemaster/neothyne
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.mingw
80 lines (65 loc) · 1.38 KB
/
Makefile.mingw
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
include include.mk
# Change this to -m64 for Windows 64
MACHINE ?= -m32
# Change this to pe-x86-64 for Windows 64
RESFLAGS := -F pe-i386
# Resource compiler
RES := windres
GAME_BIN = neothyne.exe
# When building on a Linux system
SYS := $(shell $(CC) -dumpmachine)
ifneq (, $(findstring linux, $(SYS)))
ifeq ($(MACHINE),-m32)
CC = i686-w64-mingw32-gcc
RES = i686-w64-mingw32-windres
RESFLAGS = -F pe-i386
else
CC = x86_64-w64-mingw32-gcc
RES = x86_64-w64-mingw32-windres
RESFLAGS = -F pe-x86-64
endif
endif
ifneq (, $(findstring -g, $(CXXFLAGS)))
STRIP = true
else
STRIP = strip
endif
CXX = $(CC)
CXXFLAGS = \
-std=c++11 \
-Wall \
-Wextra \
-Wno-format \
-ffast-math \
-fno-exceptions \
-fno-rtti \
-I. \
-DDEBUG_GL \
-DDXT_COMPRESSOR \
-O3 \
$(MACHINE) \
-fno-omit-frame-pointer
ENGINE_CXXFLAGS = \
$(CXXFLAGS) \
`sdl2-config --cflags`
ENGINE_LDFLAGS = \
$(MACHINE) \
-lm \
-lSDL2
all: $(GAME_BIN)
resources.o:
$(RES) $(RESFLAGS) neothyne.rc resources.o
$(GAME_BIN): resources.o $(GAME_OBJECTS)
$(CXX) resources.o $(GAME_OBJECTS) $(ENGINE_LDFLAGS) -o $@
$(STRIP) $@
.cpp.o:
$(CXX) -MD -c $(ENGINE_CXXFLAGS) $< -o $@
@cp $*.d $*.P; \
sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
-e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
rm -f $*.d
clean:
rm -f $(GAME_OBJECTS) $(GAME_OBJECTS:.o=.P)
rm -f $(GAME_BIN)
rm -f resources.o
-include *.P