rpgxef/code/game/Makefile
Walter Julius Hennecke a39565b783 Integrated RPG-X2 rpgxEF edition into the rpgxEF repo
... not quite content with where the project files lie but it is ok for
now.
... compiling works fine so far (only tested mingw32 right now)
2012-08-04 12:54:37 +02:00

281 lines
5.8 KiB
Makefile

default: so
so: build_so
# determine arch and platform
ARCH=$(shell uname -m | sed -e s/i.86/i386/)
PLATFORM=$(shell uname|sed -e s/_.*//|tr '[:upper:]' '[:lower:]')
# compiler to use for building shared objects
CC = gcc
# cross compiling
ifneq ($(PLATFORM), mingw32)
ifeq ($(TARGET), win32)
PLATFORM=mingw32
ARCH=x86
CC=i686-w64-mingw32-gcc
CFLAGS+=-m32
endif
ifeq ($(TARGET), win64)
PLATFORM=mingw32
ARCH=x64
CC=x86_64-w64-mingw32-gcc
CFLAGS+=-m64
endif
else
#we are compiling on windows
ARCH=x86
endif
# cflags for the compiler
ifeq ($(PLATFORM), mingw32)
SOCFLAGS = $(CFLAGS)
else
SOCFLAGS = $(CFLAGS) -fPIC
endif
# set extension
ifeq ($(PLATFORM), mingw32)
EXT=dll
else
EXT=so
endif
# warning level
ifeq ($(DEBUG), 1)
WL=-Wall
else
WL=-Wall -Wno-unused-but-set-variable
endif
#defines
DEFINES=
ifeq ($(SQL), 1)
DEFINES+=-DSQL
endif
# game objects
OBJ = \
g_ui.o \
g_lua.o \
q_shared.o \
q_math.o \
g_weapon.o \
g_utils.o \
g_usable.o \
g_turrets.o \
g_trigger.o \
g_team.o \
g_target.o \
g_svcmds.o \
g_spawn.o \
g_session.o \
g_mover.o \
g_missile.o \
g_misc.o \
g_mem.o \
g_main.o \
g_log.o \
g_items.o \
g_fx.o \
g_combat.o \
g_sql.o \
g_cmds.o \
g_client.o \
g_breakable.o \
g_bot.o \
g_arenas.o \
g_active.o \
g_cinematic.o \
bg_slidemove.o \
bg_pmove.o \
bg_oums.o \
bg_misc.o \
ai_team.o \
ai_main.o \
ai_dmq3.o \
ai_dmnet.o \
ai_cmd.o \
ai_chat.o \
lua_game.o \
lua_entity.o \
lua_vector.o \
lua_mover.o \
lua_qmath.o \
lua_cinematic.o \
lua_sound.o \
lua_weapons.o \
lua_trace.o \
lua_cvar.o \
sqlite3.o \
md5.o \
list.o
# game object for syscalls to the engine
SOOBJ = \
g_syscalls.o
# objects for lua
LUAOBJ = \
lapi.o \
lauxlib.o \
lbaselib.o \
lbitlib.o \
lcode.o \
lcorolib.o \
lctype.o \
ldblib.o \
ldebug.o \
ldo.o \
ldump.o \
lfunc.o \
lgc.o \
linit.o \
liolib.o \
llex.o \
lmathlib.o \
lmem.o \
loadlib.o \
lobject.o \
lopcodes.o \
loslib.o \
lparser.o \
lstate.o \
lstring.o \
lstrlib.o \
ltable.o \
ltablib.o \
ltm.o \
lua.o \
luac.o \
lundump.o \
lvm.o \
lzio.o
# sqlite
SQLITE= \
sqlite3.o
# do cc for shared library
ifeq ($(DEBUG), 1)
DO_SOCC = $(CC) $(SOCFLAGS) $(WL) -g3 $(DEFINES) -o $@ -c $<
else
DO_SOCC = $(CC) $(SOCFLAGS) $(WL) $(DEFINES) -o $@ -c $<
endif
# do cc for lua
ifeq ($(DEBUF), 1)
DO_LUACC = $(CC) -O2 -Wall -g3 $(SOCFLAGS) -DLUA_COMPAT_ALL -o $@ -c $<
else
DO_LUACC = $(CC) -O2 -Wall $(SOCFLAGS) -DLUA_COMPAT_ALL -o $@ -c $<
endif
build_so: DO_CC=$(DO_SOCC)
# game
ai_chat.o : ai_chat.c; $(DO_CC)
ai_cmd.o : ai_cmd.c; $(DO_CC)
ai_dmnet.o : ai_dmnet.c; $(DO_CC)
ai_dmq3.o : ai_dmq3.c; $(DO_CC)
ai_main.o : ai_main.c; $(DO_CC)
ai_team.o : ai_team.c; $(DO_CC)
bg_misc.o : bg_misc.c; $(DO_CC)
bg_pmove.o : bg_pmove.c; $(DO_CC)
bg_slidemove.o : bg_slidemove.c; $(DO_CC)
g_active.o : g_active.c; $(DO_CC)
g_arenas.o : g_arenas.c; $(DO_CC)
g_bot.o : g_bot.c; $(DO_CC)
g_breakable.o : g_breakable.c; $(DO_CC)
g_client.o : g_client.c; $(DO_CC)
g_cmds.o : g_cmds.c; $(DO_CC)
g_combat.o : g_combat.c; $(DO_CC)
g_fx.o : g_fx.c; $(DO_CC)
g_items.o : g_items.c; $(DO_CC)
g_log.o : g_log.c; $(DO_CC)
g_main.o : g_main.c; $(DO_CC)
g_mem.o : g_mem.c; $(DO_CC)
g_misc.o : g_misc.c; $(DO_CC)
g_missile.o : g_missile.c; $(DO_CC)
g_mover.o : g_mover.c; $(DO_CC)
g_session.o : g_session.c; $(DO_CC)
g_spawn.o : g_spawn.c; $(DO_CC)
g_svcmds.o : g_svcmds.c; $(DO_CC)
g_target.o : g_target.c; $(DO_CC)
g_team.o : g_team.c; $(DO_CC)
g_trigger.o : g_trigger.c; $(DO_CC)
g_turrets.o : g_turrets.c; $(DO_CC)
g_usable.o : g_usable.c; $(DO_CC)
g_utils.o : g_utils.c; $(DO_CC)
g_weapon.o : g_weapon.c; $(DO_CC)
q_math.o : q_math.c; $(DO_CC)
q_shared.o : q_shared.c; $(DO_CC)
g_lua.o: g_lua.c; $(DO_CC)
g_ui.o: g_ui.c; $(DO_CC)
g_sql.o: g_sql.c; $(DO_CC)
g_cinematic.o: g_cinematic.c; $(DO_CC)
bg_oums.o : bg_oums.c; $(DO_CC)
lua_game.o: lua_game.c; $(DO_CC)
lua_entity.o: lua_entity.c; $(DO_CC)
lua_mover.o: lua_mover.c; $(DO_CC)
lua_qmath.o: lua_qmath.c; $(DO_CC)
lua_vector.o: lua_vector.c; $(DO_CC)
lua_cinematic.o: lua_cinematic.c; $(DO_CC)
lua_sound.o: lua_sound.c; $(DO_CC)
lua_weapons.o: lua_weapons.c; $(DO_CC)
lua_trace.o: lua_trace.c; $(DO_CC)
lua_cvar.o: lua_cvar.c; $(DO_CC)
sqlite3.o: sqlite3.c; $(DO_CC)
md5.o: md5.c; $(DO_CC)
list.o: list.c; $(DO_CC)
# game syscalls
g_syscalls.o : g_syscalls.c; $(DO_CC)
# bg_lib
bg_lib.o : bg_lib.c; $(DO_CC)
# lua
lapi.o: lapi.c; $(DO_LUACC)
lauxlib.o: lauxlib.c; $(DO_LUACC)
lbaselib.o: lbaselib.c; $(DO_LUACC)
lbitlib.o: lbitlib.c; $(DO_LUACC)
lcode.o: lcode.c; $(DO_LUACC)
lcorolib.o: lcorolib.c; $(DO_LUACC)
lctype.o: lctype.c; $(DO_LUACC)
ldblib.o: ldblib.c; $(DO_LUACC)
ldebug.o: ldebug.c; $(DO_LUACC)
ldo.o: ldo.c; $(DO_LUACC)
ldump.o: ldump.c; $(DO_LUACC)
lfunc.o: lfunc.c; $(DO_LUACC)
lgc.o: lgc.c; $(DO_LUACC)
linit.o: linit.c; $(DO_LUACC)
liolib.o: liolib.c; $(DO_LUACC)
llex.o: llex.c; $(DO_LUACC)
lmathlib.o: lmathlib.c; $(DO_LUACC)
lmem.o: lmem.c; $(DO_LUACC)
loadlib.o: loadlib.c; $(DO_LUACC)
lobject.o: lobject.c; $(DO_LUACC)
lopcodes.o: lopcodes.c; $(DO_LUACC)
loslib.o: loslib.c; $(DO_LUACC)
lparser.o: lparser.c; $(DO_LUACC)
lstate.o: lstate.c; $(DO_LUACC)
lstring.o: lstring.c; $(DO_LUACC)
lstrlib.o: lstrlib.c; $(DO_LUACC)
ltable.o: ltable.c; $(DO_LUACC)
ltablib.o: ltablib.c; $(DO_LUACC)
ltm.o: ltm.c; $(DO_LUACC)
lua.o: lua.c; $(DO_LUACC)
luac.o: luac.c; $(DO_LUACC)
lundump.o: lundump.c; $(DO_LUACC)
lvm.o: lvm.c; $(DO_LUACC)
lzio.o: lzio.c; $(DO_LUACC)
build_so: $(OBJ) $(SOOBJ) $(LUAOBJ)
ifeq ($(PLATFORM), mingw32)
$(CC) -shared -Wl,--export-all-symbols,-soname,qqgame$(ARCH).$(EXT) -o qagame$(ARCH).$(EXT) $(OBJ) $(SOOBJ) $(LUAOBJ) -lm
else
$(CC) -shared -Wl,--export-dynamic,-soname,qagame$(ARCH).$(EXT) -o qagame$(ARCH).$(EXT) $(OBJ) $(SOOBJ) $(LUAOBJ) -lm -lpthread
endif
clean:
rm -f *.o *.$(EXT)