hostile-takeover/game/makefile.sdl
2014-07-06 17:47:28 -07:00

118 lines
4.3 KiB
Plaintext

# TODO(darrinm):
# - make output dir
# - produce OUTDIR from platform (mac, win, linux, nacl), release type (debug, rel)
# - build on Windows
# - static/dynamic link switch
PLATFORM=mac
# Debug is default
ifdef REL
CPP_DEBUG =
OUTDIR = $(PLATFORM)_rel
else
CPP_DEBUG = -DDEV_BUILD -DDEBUG -DDEBUG_LOGGING -g
OUTDIR = $(PLATFORM)_debug
endif
EXE_NAME = $(OUTDIR)/WarfareIncorporated$(EXE)
ifeq ($(PLATFORM), 'mac')
APP_NAME=WarfareIncorporated
BUNDLE_CONTENTS = $(OUTDIR)/$(APP_NAME).app/Contents
$(APP_NAME)_bundle: $(EXE_NAME)
mkdir -p $(BUNDLE_CONTENTS)/MacOS
mkdir -p $(BUNDLE_CONTENTS)/Resources
echo "APPL????" > $(BUNDLE_CONTENTS)/PkgInfo
# $(INSTALL_PROGRAM) $< $(BUNDLE_CONTENTS)/MacOS/
endif
CC = g++
EXE =
CPP_INCS = -I .. -I ../inc -I sdl -I ../SDL
CFLAGS = -m32 -O2 -Wno-write-strings -DSDL -DMULTIPLAYER -DTRACKSTATE -D_THREAD_SAFE -DHAVE_OPENGL $(CPP_DEBUG) $(CPP_INCS)
LIBS = -L/usr/local/lib -lSDL
#LIBS = -L/usr/local/lib /usr/local/lib/libSDL.a -lm -liconv -Wl,-framework,OpenGL -Wl,-framework,ForceFeedback -lobjc -Wl,-framework,Cocoa -Wl,-framework,Carbon -Wl,-framework,IOKit -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit
OBJS=game.o main.o host.o misc.o bitmap.o rip.o form.o packfile.o ini.o \
misccontrols.o tests.o timer.o event.o font.o display.o \
GameObjects.o Level.o Simulation.o tilemap.o StateMachine.o Animation.o \
fogmap.o SRInfantry.o LRInfantry.o terrainmap.o HRC.o \
Reactor.o Processor.o Miner.o Headquarters.o Research.o Radar.o VTS.o \
MobileBuilder.o Tank.o SpInfantry.o Overmind.o Builder.o MobileUnit.o \
memmgr.o tbitmap.o compression.o decompress.o \
cachemgr.o Multiplayer.o comm.o Player.o \
Warehouse.o Tower.o MobileHQ.o Unit.o Struct.o SimUI.o \
soundmgr.o \
updatemap.o \
GameOptions.o InputUI.o formmgr.o thunks.o loadsave.o savegame.o \
triggermgr.o TriggerConditions.o TriggerActions.o UnitGroupMgr.o BuildMgr.o \
RawBitmap.o Shell.o Ecom.o alertcontrol.o stringtable.o Andy.o \
Artillery.o Replicator.o Help.o CutScene.o drm.o \
sdlpackfile.o tick.o mempdbreader.o loginhandler.o simplerequest.o \
bytebuffer.o base64.o httprequest.o basemisc.o selectmission.o \
missionlist.o chooseserverform.o creategameform.o serviceurls.o \
dlmissionpack.o downloadbox.o httppackinfomanager.o packinfomanager.o \
format.o httppackmanager.o httpindexloader.o indexloader.o packmanager.o \
thread.o messagequeue.o messagehandler.o jsonbuilder.o jsontypes.o \
yajl_parser.o yajl.o yajl_buf.o yajl_lex.o yajl_encode.o \
socketserver.o socketaddress.o socket.o deletetracker.o selectserver.o \
lobby.o chatter.o gameform.o lobbyform.o eventer.o completemanager.o \
statetracker.o stateframe.o roomform.o createroomform.o loginform.o \
map.o fingerhandler.o dragrect.o flickscroller.o mpsharedmisc.o md5c.o \
uploader.o stylushandler.o drawscan.o netmessage.o hosthelpers.o \
sdlhttpservice.o sdlhttprequest.o
# TODO(darrinm): sdl/transportmgr.cpp [from iphone? from win?]
all: $(EXE_NAME)
clean:
rm -f $(OUTDIR)/*
$(EXE_NAME): $(OUTDIR)/ht
cp $(OUTDIR)/ht $(EXE_NAME)
#$(EXE_NAME): sdl/main.cpp game.cpp misccontrols.cpp form.cpp GameObjects.cpp
# $(CC) -o $@ $? $(CFLAGS) $(LIBS)
$(OUTDIR)/ht: $(OBJS:%=$(OUTDIR)/%)
$(CC) $(CFLAGS) -o $(OUTDIR)/ht $(OBJS:%=$(OUTDIR)/%)
#$(OUTDIR)/packfile.o: mpshared/packfile.cpp mpshared/packfile.h
# $(CC) $(CFLAGS) -c mpshared/packfile.cpp -o $(OUTDIR)/packfile.o
$(OUTDIR)/misc.o: misc.cpp ht.h res.h sdl/htplatform.h license.h
$(CC) $(CFLAGS) -c misc.cpp -o $(OUTDIR)/misc.o
$(OUTDIR)/%.o: %.cpp ht.h res.h sdl/htplatform.h
$(CC) $(CFLAGS) -c $(*F).cpp -o $@
$(OUTDIR)/%.o: sdl/%.cpp ht.h res.h sdl/htplatform.h
$(CC) $(CFLAGS) -c sdl/$(*F).cpp -o $@
$(OUTDIR)/%.o: ../mpshared/%.cpp ht.h res.h sdl/htplatform.h
$(CC) $(CFLAGS) -c ../mpshared/$(*F).cpp -o $@
$(OUTDIR)/%.o: ../yajl/wrapper/%.cpp
$(CC) $(CFLAGS) -c ../yajl/wrapper/$(*F).cpp -o $@
$(OUTDIR)/%.o: ../yajl/src/%.c
$(CC) $(CFLAGS) -c ../yajl/src/$(*F).c -o $@
$(OUTDIR)/%.o: ../base/%.cpp
$(CC) $(CFLAGS) -c ../base/$(*F).cpp -o $@
$(OUTDIR)/basemisc.o: ../base/misc.cpp ../base/misc.h
$(CC) $(CFLAGS) -c ../base/misc.cpp -o $@
$(OUTDIR)/mpsharedmisc.o: ../mpshared/misc.cpp ../mpshared/misc.h
$(CC) $(CFLAGS) -c ../mpshared/misc.cpp -o $@
$(OUTDIR)/rip.o: ../inc/rip.cpp ../inc/rip.h
$(CC) $(CFLAGS) -c ../inc/rip.cpp -o $(OUTDIR)/rip.o