mirror of
https://github.com/UberGames/rpgxEF.git
synced 2025-02-21 03:21:33 +00:00
... 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)
172 lines
3.9 KiB
Makefile
172 lines
3.9 KiB
Makefile
default: 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 ($(TARGET), 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
|
|
|
|
|
|
# ui objects
|
|
OBJ = \
|
|
ui_turbolift.o \
|
|
ui_transporter.o \
|
|
ui_motd.o \
|
|
ui_admin.o \
|
|
ui_video.o \
|
|
ui_teamorders.o \
|
|
ui_team.o \
|
|
ui_startserver.o \
|
|
ui_spskill.o \
|
|
ui_sppostgame.o \
|
|
ui_splevel.o \
|
|
ui_specifyserver.o \
|
|
ui_sparena.o \
|
|
ui_sound.o \
|
|
ui_servers2.o \
|
|
ui_serverinfo.o \
|
|
ui_removebots.o \
|
|
ui_qmenu.o \
|
|
ui_preferences.o \
|
|
ui_playersettings.o \
|
|
ui_players.o \
|
|
ui_playermodel.o \
|
|
ui_network.o \
|
|
ui_mods.o \
|
|
ui_mfield.o \
|
|
ui_menu.o \
|
|
ui_main.o \
|
|
ui_ingame.o \
|
|
ui_gameinfo.o \
|
|
ui_fonts.o \
|
|
ui_emotes.o \
|
|
ui_demo2.o \
|
|
ui_cvars.o \
|
|
ui_credits.o \
|
|
ui_controls2.o \
|
|
ui_connect.o \
|
|
ui_confirm.o \
|
|
ui_cdkey.o \
|
|
ui_atoms.o \
|
|
ui_addbots.o
|
|
|
|
# dependencies from game
|
|
OBJDEP = \
|
|
q_shared.o \
|
|
q_math.o \
|
|
bg_misc.o
|
|
|
|
# object for syscalls to the engine
|
|
SOOBJ = \
|
|
ui_syscalls.o
|
|
|
|
# do cc for shared libraries
|
|
ifeq ($(DEBUG), 1)
|
|
DO_SOCC = $(CC) $(SOCFLAGS) $(WL) -g3 $(DEFINES) -o $@ -c $<
|
|
else
|
|
DO_SOCC = $(CC) $(SOCFLAGS) $(WL) $(DEFINES) -o $@ -c $<
|
|
endif
|
|
|
|
build_so: DO_CC=$(DO_SOCC)
|
|
|
|
cg_consolecmds.o : cg_consolecmds.c; $(DO_CC)
|
|
|
|
ui_addbots.o : ui_addbots.c; $(DO_CC)
|
|
ui_atoms.o : ui_atoms.c; $(DO_CC)
|
|
ui_cdkey.o : ui_cdkey.c; $(DO_CC)
|
|
ui_confirm.o : ui_confirm.c; $(DO_CC)
|
|
ui_connect.o : ui_connect.c; $(DO_CC)
|
|
ui_controls2.o : ui_controls2.c; $(DO_CC)
|
|
ui_cvars.o : ui_cvars.c; $(DO_CC)
|
|
ui_demo2.o : ui_demo2.c; $(DO_CC)
|
|
ui_fonts.o : ui_fonts.c; $(DO_CC)
|
|
ui_gameinfo.o : ui_gameinfo.c; $(DO_CC)
|
|
ui_ingame.o : ui_ingame.c; $(DO_CC)
|
|
ui_main.o : ui_main.c; $(DO_CC)
|
|
ui_menu.o : ui_menu.c; $(DO_CC)
|
|
ui_mfield.o : ui_mfield.c; $(DO_CC)
|
|
ui_mods.o : ui_mods.c; $(DO_CC)
|
|
ui_network.o : ui_network.c; $(DO_CC)
|
|
ui_playermodel.o : ui_playermodel.c; $(DO_CC)
|
|
ui_players.o : ui_players.c; $(DO_CC)
|
|
ui_playersettings.o : ui_playersettings.c; $(DO_CC)
|
|
ui_preferences.o : ui_preferences.c; $(DO_CC)
|
|
ui_qmenu.o : ui_qmenu.c; $(DO_CC)
|
|
ui_removebots.o : ui_removebots.c; $(DO_CC)
|
|
ui_serverinfo.o : ui_serverinfo.c; $(DO_CC)
|
|
ui_servers2.o : ui_servers2.c; $(DO_CC)
|
|
ui_sound.o : ui_sound.c; $(DO_CC)
|
|
ui_sparena.o : ui_sparena.c; $(DO_CC)
|
|
ui_specifyserver.o : ui_specifyserver.c; $(DO_CC)
|
|
ui_splevel.o : ui_splevel.c; $(DO_CC)
|
|
ui_sppostgame.o : ui_sppostgame.c; $(DO_CC)
|
|
ui_spreset.o : ui_spreset.c; $(DO_CC)
|
|
ui_spskill.o : ui_spskill.c; $(DO_CC)
|
|
ui_startserver.o : ui_startserver.c; $(DO_CC)
|
|
ui_team.o : ui_team.c; $(DO_CC)
|
|
ui_teamorders.o : ui_teamorders.c; $(DO_CC)
|
|
ui_video.o : ui_video.c; $(DO_CC)
|
|
ui_credits.o : ui_credits.c; $(DO_CC)
|
|
ui_admin.o : ui_admin.c; $(DO_CC)
|
|
ui_emotes.o : ui_emotes.c; $(DO_CC)
|
|
ui_motd.o : ui_motd.c; $(DO_CC)
|
|
ui_transporter.o : ui_transporter.c; $(DO_CC)
|
|
ui_turbolift.o : ui_turbolift.c; $(DO_CC)
|
|
|
|
ui_syscalls.o : ui_syscalls.c; $(DO_CC)
|
|
|
|
q_shared.o: ../game/q_shared.c; $(DO_CC)
|
|
q_math.o: ../game/q_math.c; $(DO_CC)
|
|
bg_misc.o: ../game/bg_misc.c; $(DO_CC)
|
|
|
|
build_so: $(OBJDEP) $(OBJ) $(SOOBJ)
|
|
ifeq ($(PLATFORM), mingw32)
|
|
$(CC) -shared -Wl,--export-all-symbols,-soname,ui$(ARCH).$(EXT) -o ui$(ARCH).$(EXT) $(OBJ) $(OBJDEP) $(SOOBJ)
|
|
else
|
|
$(CC) -shared -Wl,--export-dynamic,-soname,ui$(ARCH).$(EXT) -o ui$(ARCH).$(EXT) $(OBJ) $(OBJDEP) $(SOOBJ)
|
|
endif
|
|
|
|
clean:
|
|
rm -f *.o *.$(EXT)
|