]> git.mxchange.org Git - quix0rs-blobwars.git/blob - Makefile.windows
Don't define variables in header files.
[quix0rs-blobwars.git] / Makefile.windows
1 PROG = blobwars.exe
2 PAKNAME = blobwars.pak
3 DOCS = doc/*
4 ICONS = icons/
5 DATA = data gfx sound music
6
7 VERSION = 1.19
8 RELEASE ?= 1
9 USEPAK ?= 1
10
11 PREFIX ?= /usr
12 BINDIR ?= $(PREFIX)/games/
13 DATADIR ?= $(PREFIX)/share/games/blobwars/
14 DOCDIR ?= $(PREFIX)/share/doc/$(PROG)/
15 ICONDIR ?= $(PREFIX)/share/icons/hicolor/
16 DESKTOPDIR ?= $(PREFIX)/share/applications/
17 LOCALEDIR ?= $(PREFIX)/share/locale/
18 MEDAL_SERVER_HOST = www.parallelrealities.co.uk
19 MEDAL_SERVER_PORT = 80
20
21 CXX = i686-w64-mingw32-g++
22
23 CXXFLAGS += -Dmain=SDL_main
24 CXXFLAGS += -I/your/mingw/include
25 CXXFLAGS += -DVERSION=$(VERSION) -DRELEASE=$(RELEASE) -DUSEPAK=$(USEPAK)
26 CXXFLAGS += -DPAKNAME=\"$(PAKNAME)\" -DPAKLOCATION=\"\" -DGAMEPLAYMANUAL=\"doc/index.html\" -Wall
27 CXXFLAGS += -DLOCALEDIR=\"\" $(CFLAGS)  -DMEDAL_SERVER_HOST=\"$(MEDAL_SERVER_HOST)\" -DMEDAL_SERVER_PORT=$(MEDAL_SERVER_PORT) -Werror
28 LIBS = -lmingw32 -lz -lSDL2_mixer -lSDL2_image -lSDL2_ttf -lSDL2_net -lSDL2main -lSDL2 -lwinmm -lgdi32
29 PAKLIBS = -lmingw32 -lz
30 LDFLAGS = -L/your/mingw/lib -mwindows
31
32 OBJS += CAudio.o
33 OBJS += CBoss.o
34 OBJS += CCollision.o CCutscene.o  CConfig.o
35 OBJS += CData.o 
36 OBJS += CEffect.o CEngine.o CEntity.o 
37 OBJS += CFileData.o 
38 OBJS += CGame.o CGameData.o CGameObject.o CGraphics.o
39 OBJS += CHub.o 
40 OBJS += CKeyboard.o 
41 OBJS += CJoystick.o 
42 OBJS += CLineDef.o
43 OBJS += CList.o
44 OBJS += CMap.o CMath.o CMedalServer.o
45 OBJS += CObjective.o
46 OBJS += CPak.o CParticle.o CPersistant.o CPersistData.o
47 OBJS += CRadarBlip.o CReplayData.o
48 OBJS += CSpawnPoint.o CSprite.o CSwitch.o
49 OBJS += CTeleporter.o CTrain.o CTrap.o
50 OBJS += CWeapon.o CWidget.o
51
52 OBJS += aquaBoss.o
53 OBJS += bosses.o bullets.o 
54 OBJS += cutscene.o
55 OBJS += droidBoss.o 
56 OBJS += effects.o enemies.o entities.o explosions.o 
57 OBJS += finalBattle.o 
58 OBJS += galdov.o game.o graphics.o 
59 OBJS += hub.o 
60 OBJS += info.o init.o intro.o items.o 
61 OBJS += lineDefs.o loadSave.o
62 OBJS += map.o mapData.o mias.o mission.o
63 OBJS += objectives.o obstacles.o options.o
64 OBJS += particles.o player.o 
65 OBJS += resources.o 
66 OBJS += spawnPoints.o switches.o 
67 OBJS += tankBoss.o teleporters.o title.o trains.o traps.o triggers.o 
68 OBJS += weapons.o widgets.o
69
70 GAMEOBJS = $(OBJS) main.o
71 MAPOBJS = $(OBJS) mapEditor.o
72 PAKOBJS = CFileData.o pak.o
73
74 LOCALE_MO = $(patsubst %.po,%.mo,$(wildcard locale/*.po))
75
76 ALL = $(PROG) $(LOCALE_MO)
77 ifeq ($(USEPAK), 1)
78         ALL += $(PAKNAME)
79 endif
80
81 # top-level rule to create the program.
82 all: $(PROG) $(LOCALE_MO)
83
84 # compiling other source files.
85 %.o: src/%.cpp src/%.h src/defs.h src/defines.h src/headers.h
86         $(CXX) $(CXXFLAGS) -c $<
87
88 # linking the program.
89 $(PROG): $(GAMEOBJS)
90         $(CXX) $(LDFLAGS) $(GAMEOBJS) -o $(PROG) $(LIBS)
91
92 pak: $(PAKOBJS)
93         $(CXX) $(LDFLAGS) $(PAKOBJS) -o pak.exe $(PAKLIBS)
94
95 %.mo: %.po
96         msgfmt -c -o $@ $<
97
98 mapeditor.exe: $(MAPOBJS)
99         $(CXX) $(LDFLAGS) $(MAPOBJS) -o mapeditor.exe $(LIBS)
100
101 # cleaning everything that can be automatically recreated with "make".
102 clean:
103         $(RM) $(GAMEOBJS) mapEditor.o pak.o $(PROG) $(PAKNAME) pak.exe mapeditor.exe $(LOCALE_MO)
104
105 $(PAKNAME): pak
106         ./pak $(DATA) $(PAKNAME)
107
108 buildpak: $(PAKNAME)