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