-
Notifications
You must be signed in to change notification settings - Fork 4
/
Makefile
85 lines (62 loc) · 2.11 KB
/
Makefile
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
81
82
83
84
85
# Makefile for Dork 2
# On Mac, use the Xcode project
# On Linux, use this Makefile to compile Dork 2
# On Windows, use the Visual Studio project
# You need to have a compiled version of Orx for your platform in the lib/ folder
# You may need to change the compiler if you don't have g++ in your PATH
ODIR=obj
OUTDIR=Build
OUTPUT=$(OUTDIR)/Dork\ 2
CC=g++
FLAGS=-std=c++11 -c -o $(ODIR)/$(@F)
LD=-I inc/ -I Dork\ 2/App -I Dork\ 2/Backend -I Dork\ 2/Scenes -I Dork\ 2/Entities -I Dork\ 2/Items -L lib/
LIB=-l orx
OBJS=Main.o StandAlone.o Enemy.o Entity.o Player.o Potion.o Weapon.o Armory.o Combat.o Exploration.o Shop.o Scene.o MainMenu.o Purchasing.o StatViewer.o Level.o
_OBJS=$(patsubst %, $(ODIR)/%, $(OBJS))
ifdef DEBUG
FLAGS += -g -O0
endif
dork2: copyassets $(_OBJS)
$(CC) $(LD) $(_OBJS) $(LIB) -o $(OUTPUT)
copyassets:
mkdir -p $(OUTDIR) $(ODIR)
cp -u Assets/Sound/* $(OUTDIR)
cp -u Assets/Sprites/* $(OUTDIR)
cp -u Assets/Font/* $(OUTDIR)
cp -u bin/*.ini $(OUTDIR)
$(ODIR)/MainMenu.o:
$(CC) $(FLAGS) $(LD) Dork\ 2/Scenes/MainMenu.cpp
$(ODIR)/Purchasing.o:
$(CC) $(FLAGS) $(LD) Dork\ 2/Scenes/Purchasing.cpp
$(ODIR)/StatViewer.o:
$(CC) $(FLAGS) $(LD) Dork\ 2/Scenes/StatViewer.cpp
$(ODIR)/Enemy.o:
$(CC) $(FLAGS) $(LD) Dork\ 2/Entities/Enemy.cpp
$(ODIR)/Potion.o:
$(CC) $(FLAGS) $(LD) Dork\ 2/Items/Potion.cpp
$(ODIR)/Weapon.o:
$(CC) $(FLAGS) $(LD) Dork\ 2/Items/Weapon.cpp
$(ODIR)/Armory.o:
$(CC) $(FLAGS) $(LD) Dork\ 2/Scenes/Armory.cpp
$(ODIR)/Combat.o:
$(CC) $(FLAGS) $(LD) Dork\ 2/Scenes/Combat.cpp
$(ODIR)/Exploration.o:
$(CC) $(FLAGS) $(LD) Dork\ 2/Scenes/Exploration.cpp
$(ODIR)/Scene.o:
$(CC) $(FLAGS) $(LD) Dork\ 2/Scenes/Scene.cpp
$(ODIR)/Shop.o:
$(CC) $(FLAGS) $(LD) Dork\ 2/Scenes/Shop.cpp
$(ODIR)/Entity.o:
$(CC) $(FLAGS) $(LD) Dork\ 2/Entities/Entity.cpp
$(ODIR)/Main.o:
$(CC) $(FLAGS) $(LD) Dork\ 2/App/Main.cpp
$(ODIR)/Player.o:
$(CC) $(FLAGS) $(LD) Dork\ 2/Entities/Player.cpp
$(ODIR)/StandAlone.o:
$(CC) $(FLAGS) $(LD) Dork\ 2/App/StandAlone.cpp
$(ODIR)/Level.o:
$(CC) $(FLAGS) $(LD) Dork\ 2/Backend/Level.cpp
clean:
rm -f $(ODIR)/*.o $(OUTPUT)
squeakyclean:
rm -rf $(OUTDIR) $(ODIR)