mirror of
https://github.com/nzp-team/fteqw.git
synced 2024-11-10 14:42:13 +00:00
One makefile to rule them all... Well, replace them all at least. This one detects your target and uses SDL if linux or mingw fail.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@821 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
adbd57f02c
commit
f19a02ed3e
1 changed files with 551 additions and 0 deletions
551
engine/Makefile
Normal file
551
engine/Makefile
Normal file
|
@ -0,0 +1,551 @@
|
|||
CC=gcc
|
||||
|
||||
CPUOPTIMIZATIONS=
|
||||
|
||||
BASE_DIR=.
|
||||
|
||||
ifeq ($(FTE_TARGET),) #user didn't specify prefered target
|
||||
ifneq ($(shell gcc -v 2>&1 | grep mingw),)
|
||||
FTE_TARGET=win32
|
||||
else
|
||||
ifeq ($(shell uname),Linux)
|
||||
FTE_TARGET=linux
|
||||
#else I've no idea what it is you're running
|
||||
endif
|
||||
endif
|
||||
|
||||
FTE_TARGET ?= sdl #so go for sdl.
|
||||
endif
|
||||
|
||||
|
||||
CLIENT_DIR=$(BASE_DIR)/client
|
||||
GL_DIR=$(BASE_DIR)/gl
|
||||
SW_DIR=$(BASE_DIR)/sw
|
||||
SERVER_DIR=$(BASE_DIR)/server
|
||||
COMMON_DIR=$(BASE_DIR)/common
|
||||
NQPROT_DIR=$(BASE_DIR)/nqnet
|
||||
HTTP_DIR=$(BASE_DIR)/http
|
||||
LIBS_DIR=$(BASE_DIR)/libs
|
||||
PROGS_DIR=$(BASE_DIR)/qclib
|
||||
SNDCODEC_DIR=$(BASE_DIR)/sndcodec
|
||||
MP3_DIR=$(BASE_DIR)/../mp3/libmad
|
||||
QUX_DIR=$(BASE_DIR)/qux
|
||||
|
||||
RELEASE_DIR=$(BASE_DIR)/release
|
||||
DEBUG_DIR=$(BASE_DIR)/debug
|
||||
|
||||
DO_CC=$(CC) $(BASE_CFLAGS) $(CFLAGS) -o $@ -c $<
|
||||
ifeq ($(USEASM),true)
|
||||
ifdef windir
|
||||
DO_AS=$(CC) $(BASE_CFLAGS) $(CFLAGS) -x assembler-with-cpp -o $@ -c $<
|
||||
else
|
||||
DO_AS=$(CC) $(BASE_CFLAGS) $(CFLAGS) -x assembler-with-cpp -DELF -o $@ -c $<
|
||||
endif
|
||||
endif
|
||||
BASELDFLAGS=-lm
|
||||
GLXLDFLAGS=-L/usr/X11R6/lib -lX11 -lXext -lpng -ljpeg -lXxf86vm
|
||||
GLSLDFLAGS=-L/usr/X11R6/lib -lMesaGL -lglide -lvga
|
||||
XLDFLAGS=-L/usr/X11R6/lib -lX11 -lXext -lpng -ljpeg
|
||||
SLDFLAGS=-lvga
|
||||
|
||||
ifeq ($(USEASM),true)
|
||||
COMMON_ASM_OBJS = \
|
||||
worlda.o \
|
||||
math.o
|
||||
|
||||
CLIENT_ASM_OBJS = \
|
||||
snd_mixa.o
|
||||
|
||||
SOFTWARE_ASM_OBJS = \
|
||||
r_aclipa.o \
|
||||
r_aliasa.o \
|
||||
r_drawa.o \
|
||||
r_edgea.o \
|
||||
r_varsa.o \
|
||||
d_draw.o \
|
||||
d_draw16.o \
|
||||
d_parta.o \
|
||||
d_polysa.o \
|
||||
d_scana.o \
|
||||
d_spr8.o \
|
||||
d_varsa.o \
|
||||
surf16.o \
|
||||
surf8.o
|
||||
|
||||
else
|
||||
BASE_ASM_CFLAGS = -DNOASM
|
||||
endif
|
||||
|
||||
BASE_CFLAGS=$(BASE_ASM_CFLAGS) -Wall -Dstrnicmp=strncasecmp -Dstricmp=strcasecmp -I$(CLIENT_DIR) -I$(SERVER_DIR) -I$(COMMON_DIR) -I$(SW_DIR) -I$(GL_DIR) -I$(PROGS_DIR) -I$(LIBS_DIR) -I$(QUX_DIR) -I$(LIBS_DIR)/dxsdk7/include -I/usr/X11R6/include -I$(LIBS_DIR)/sdl/include -I$(LIBS_DIR)/sdl/include/SDL -D_vsnprintf=vsnprintf -D_snprintf=snprintf
|
||||
CLIENT_ONLY_CFLAGS=-DCLIENTONLY
|
||||
SERVER_ONLY_CFLAGS=-DSERVERONLY
|
||||
JOINT_CFLAGS=
|
||||
DEBUG_CFLAGS=-ggdb -g
|
||||
RELEASE_CFLAGS=-O6 -s -fno-strict-aliasing -ffast-math -funroll-loops -fexpensive-optimizations $(CPUOPTIMIZATIONS)
|
||||
GLCFLAGS=-DGLQUAKE
|
||||
SWCFLAGS=-DSWQUAKE
|
||||
|
||||
NQPROT_OBJS = \
|
||||
net_main.o \
|
||||
net_loop.o \
|
||||
net_dgrm.o \
|
||||
net_udp.o \
|
||||
net_wipx.o \
|
||||
net_vcr.o
|
||||
|
||||
CLIENT_OBJS = $(CLIENT_ASM_OBJS) \
|
||||
textedit.o \
|
||||
fragstats.o \
|
||||
teamplay.o \
|
||||
zqtp.o \
|
||||
cl_demo.o \
|
||||
cl_ents.o \
|
||||
clq2_ents.o \
|
||||
cl_input.o \
|
||||
cl_main.o \
|
||||
cl_parse.o \
|
||||
cl_pred.o \
|
||||
cl_tent.o \
|
||||
cl_cam.o \
|
||||
cl_screen.o \
|
||||
cl_ui.o \
|
||||
qvm.o \
|
||||
ircclient.o \
|
||||
console.o \
|
||||
image.o \
|
||||
keys.o \
|
||||
menu.o \
|
||||
m_master.o \
|
||||
m_multi.o \
|
||||
m_items.o \
|
||||
m_options.o \
|
||||
m_single.o \
|
||||
m_script.o \
|
||||
m_mp3.o \
|
||||
roq_read.o \
|
||||
clq2_cin.o \
|
||||
net_master.o \
|
||||
r_bulleten.o \
|
||||
r_part.o \
|
||||
r_partset.o \
|
||||
r_efrag.o \
|
||||
renderer.o \
|
||||
renderque.o \
|
||||
sbar.o \
|
||||
skin.o \
|
||||
snd_dma.o \
|
||||
snd_mem.o \
|
||||
snd_mix.o \
|
||||
snd_mp3.o \
|
||||
snd_ov.o \
|
||||
valid.o \
|
||||
view.o \
|
||||
wad.o \
|
||||
\
|
||||
pop3noti.o \
|
||||
imapnoti.o \
|
||||
\
|
||||
ftpclient.o \
|
||||
httpclient.o \
|
||||
\
|
||||
\
|
||||
m_x.o \
|
||||
x_reqs.o \
|
||||
x_res.o \
|
||||
pr_menu.o
|
||||
|
||||
|
||||
SOFTWARE_OBJS = $(SOFTWARE_ASM_OBJS) \
|
||||
sw_screen.o \
|
||||
sw_draw.o \
|
||||
sw_model.o \
|
||||
r_aclip.o \
|
||||
r_alias.o \
|
||||
r_bsp.o \
|
||||
r_draw.o \
|
||||
r_edge.o \
|
||||
r_light.o \
|
||||
r_main.o \
|
||||
r_misc.o \
|
||||
r_sky.o \
|
||||
r_sprite.o \
|
||||
r_surf.o \
|
||||
r_vars.o \
|
||||
d_edge.o \
|
||||
d_fill.o \
|
||||
d_init.o \
|
||||
d_modech.o \
|
||||
d_part.o \
|
||||
d_polyse.o \
|
||||
d_scan.o \
|
||||
d_sky.o \
|
||||
d_sprite.o \
|
||||
d_surf.o \
|
||||
d_trans.o \
|
||||
d_vars.o \
|
||||
d_zpoint.o \
|
||||
nonintel.o
|
||||
|
||||
GLQUAKE_OBJS = \
|
||||
gl_alias.o \
|
||||
gl_draw.o \
|
||||
gl_model.o \
|
||||
gl_ngraph.o \
|
||||
gl_rlight.o \
|
||||
gl_rmain.o \
|
||||
gl_rmisc.o \
|
||||
gl_rsurf.o \
|
||||
ltface.o \
|
||||
gl_screen.o \
|
||||
gl_backend.o \
|
||||
gl_shader.o \
|
||||
gl_warp.o \
|
||||
gl_ppl.o \
|
||||
gl_vidcommon.o \
|
||||
gl_hlmdl.o
|
||||
|
||||
MP3_OBJS = \
|
||||
fixed.o \
|
||||
bit.o \
|
||||
timer.o \
|
||||
stream.o \
|
||||
frame.o \
|
||||
synth.o \
|
||||
decoder.o \
|
||||
layer12.o \
|
||||
layer3.o \
|
||||
huffman.o \
|
||||
mymad.o
|
||||
|
||||
PROGS_OBJS = \
|
||||
comprout.o \
|
||||
hash.o \
|
||||
initlib.o \
|
||||
pr_edict.o \
|
||||
pr_exec.o \
|
||||
pr_multi.o \
|
||||
qcc_cmdlib.o \
|
||||
qccmain.o \
|
||||
qcc_pr_comp.o \
|
||||
qcc_pr_lex.o \
|
||||
qcdecomp.o \
|
||||
qcd_main.o
|
||||
|
||||
SERVER_OBJS = \
|
||||
pr_cmds.o \
|
||||
sv_master.o \
|
||||
sv_init.o \
|
||||
sv_main.o \
|
||||
sv_nchan.o \
|
||||
sv_ents.o \
|
||||
sv_send.o \
|
||||
sv_move.o \
|
||||
sv_phys.o \
|
||||
sv_user.o \
|
||||
sv_mvd.o \
|
||||
sv_ccmds.o \
|
||||
sv_rankin.o \
|
||||
sv_chat.o \
|
||||
sv_demo.o \
|
||||
world.o \
|
||||
net_preparse.o \
|
||||
savegame.o \
|
||||
svq2_ents.o \
|
||||
svq2_game.o \
|
||||
snd_vc.o \
|
||||
snd_voicecodecs.o \
|
||||
g711.o \
|
||||
g721.o \
|
||||
g723_24.o \
|
||||
g723_40.o \
|
||||
g72x.o \
|
||||
webgen.o \
|
||||
ftpserver.o \
|
||||
httpserver.o \
|
||||
sv_pop3.o \
|
||||
sv_smtp.o
|
||||
|
||||
SERVERONLY_OBJS = \
|
||||
svmodel.o \
|
||||
sv_sys_unix.o
|
||||
|
||||
WINDOWSSERVERONLY_OBJS = \
|
||||
svmodel.o \
|
||||
sv_sys_win.o
|
||||
|
||||
COMMON_OBJS = $(COMMON_ASM_OBJS) \
|
||||
common.o \
|
||||
cvar.o \
|
||||
cmd.o \
|
||||
crc.o \
|
||||
mathlib.o \
|
||||
huff.o \
|
||||
md4.o \
|
||||
md5.o \
|
||||
net_chan.o \
|
||||
net_wins.o \
|
||||
zone.o \
|
||||
gl_q2bsp.o \
|
||||
glmod_doom.o \
|
||||
pmove.o \
|
||||
pmovetst.o \
|
||||
iwebiface.o \
|
||||
translate.o \
|
||||
plugin.o \
|
||||
q1bsp.o \
|
||||
q2pmove.o
|
||||
|
||||
|
||||
#the defaults for sdl come first
|
||||
GLCL_OBJS=$(GL_OBJS) $(GLQUAKE_OBJS) gl_vidsdl.o snd_sdl.o cd_sdl.o sys_sdl.o in_sdl.o
|
||||
GL_EXE_NAME=../fteqw_sdl.gl
|
||||
GLCL_EXE_NAME=../fteqwcl_sdl.gl
|
||||
ifdef windir
|
||||
GL_LDFLAGS=$(GLLDFLAGS) -lmingw32 -lwsock32 `sdl-config --libs`
|
||||
else
|
||||
GL_LDFLAGS=$(GLLDFLAGS) -lpng -ljpeg `sdl-config --libs`
|
||||
endif
|
||||
GL_CFLAGS=$(GLCFLAGS) `sdl-config --cflags`
|
||||
GLB_DIR=gl_sdl
|
||||
GLCL_DIR=glcl_sdl
|
||||
|
||||
SWCL_OBJS=$(SOFTWARE_OBJS) vid_sdl.o snd_sdl.o cd_sdl.o sys_sdl.o in_sdl.o
|
||||
SW_EXE_NAME=../fteqw_sdl.sw
|
||||
SWCL_EXE_NAME=../fteqwcl_sdl.sw
|
||||
ifdef windir
|
||||
SW_LDFLAGS=$(SWLDFLAGS) -lmingw32 -lwsock32 -lSDLmain -lSDL
|
||||
else
|
||||
#pthread is needed because of SDL.
|
||||
SW_LDFLAGS=$(SWLDFLAGS) `sdl-config --libs` -lpng -ljpeg -lSDLmain
|
||||
endif
|
||||
SW_CFLAGS=$(SWCFLAGS) `sdl-config --cflags`
|
||||
SWB_DIR=sw_sdl
|
||||
SWCL_DIR=swcl_sdl
|
||||
|
||||
SV_OBJS=$(COMMON_OBJS) $(NQPROT_OBJS) $(SERVER_OBJS) $(PROGS_OBJS) $(SERVERONLY_OBJS)
|
||||
SV_EXE_NAME=../fteqw.sv
|
||||
SV_CFLAGS=$(SERVER_ONLY_CFLAGS)
|
||||
|
||||
#specific targets override those defaults as needed.
|
||||
|
||||
ifeq ($(FTE_TARGET),win32)
|
||||
SV_EXE_NAME=../fteqwsv.exe
|
||||
SV_LDFLAGS=libs/zlib.lib -lwsock32
|
||||
SV_DIR=sv_mingw
|
||||
SV_OBJS=$(COMMON_OBJS) $(NQPROT_OBJS) $(SERVER_OBJS) $(PROGS_OBJS) $(WINDOWSSERVERONLY_OBJS)
|
||||
|
||||
ifeq ($(USEASM),true)
|
||||
GLCL_OBJS=$(GL_OBJS) $(GLQUAKE_OBJS) gl_vidnt.o snd_win.o cd_win.o in_win.o sys_win.o sys_dosa.o
|
||||
else
|
||||
GLCL_OBJS=$(GL_OBJS) $(GLQUAKE_OBJS) gl_vidnt.o snd_win.o cd_win.o in_win.o sys_win.o
|
||||
endif
|
||||
GL_EXE_NAME=../fteglqw.exe
|
||||
GLCL_EXE_NAME=../fteglqwcl.exe
|
||||
GL_LDFLAGS=$(GLLDFLAGS) -ldxguid -lwsock32 -lwinmm -lgdi32 -lole32
|
||||
GL_CFLAGS=$(GLCFLAGS)
|
||||
GLB_DIR=gl_mgw
|
||||
GLCL_DIR=glcl_mgw
|
||||
|
||||
ifeq ($(USEASM),true)
|
||||
SWCL_OBJS=$(SOFTWARE_OBJS) vid_ddraw.o vid_dib.o vid_win2.o snd_win.o cd_win.o in_win.o sys_win.o sys_dosa.o
|
||||
else
|
||||
SWCL_OBJS=$(SOFTWARE_OBJS) vid_ddraw.o vid_dib.o vid_win2.o snd_win.o cd_win.o in_win.o sys_win.o
|
||||
endif
|
||||
SW_EXE_NAME=../fteswqw.exe
|
||||
SWCL_EXE_NAME=../fteswqwcl.exe
|
||||
SW_LDFLAGS=$(SWLDFLAGS) -ldxguid -lwsock32 -lwinmm -lgdi32 -lole32
|
||||
SW_CFLAGS=$(SWCFLAGS)
|
||||
SWB_DIR=sw_mgw
|
||||
SWCL_DIR=swcl_mgw
|
||||
|
||||
ifeq ($(USEASM),true)
|
||||
MCL_OBJS=$(GLQUAKE_OBJS) $(SOFTWARE_OBJS) gl_vidnt.o vid_ddraw.o vid_dib.o vid_win2.o snd_win.o cd_win.o in_win.o sys_win.o sys_dosa.o
|
||||
else
|
||||
MCL_OBJS=$(GLQUAKE_OBJS) $(SOFTWARE_OBJS) gl_vidnt.o vid_ddraw.o vid_dib.o vid_win2.o snd_win.o cd_win.o in_win.o sys_win.o
|
||||
endif
|
||||
M_EXE_NAME=../fteqw.exe
|
||||
MCL_EXE_NAME=../fteqwcl.exe
|
||||
M_LDFLAGS=$(GLLDFLAGS) -ldxguid -lwsock32 -lwinmm -lgdi32 -lole32
|
||||
M_CFLAGS=$(SWCFLAGS) $(GLCFLAGS)
|
||||
MB_DIR=m_mgw
|
||||
MCL_DIR=mcl_mgw
|
||||
|
||||
endif
|
||||
ifeq ($(FTE_TARGET),linux)
|
||||
|
||||
SV_DIR=sv_linux
|
||||
SV_LDFLAGS=-lz
|
||||
|
||||
ifeq ($(USEASM),true)
|
||||
GLCL_OBJS=$(GL_OBJS) $(GLQUAKE_OBJS) gl_vidlinuxglx.o snd_linux.o cd_linux.o sys_linux.o sys_dosa.o
|
||||
else
|
||||
GLCL_OBJS=$(GL_OBJS) $(GLQUAKE_OBJS) gl_vidlinuxglx.o snd_linux.o cd_linux.o sys_linux.o
|
||||
endif
|
||||
GL_EXE_NAME=../fteqw.gl
|
||||
GLCL_EXE_NAME=../fteqwcl.gl
|
||||
GL_LDFLAGS=$(GLLDFLAGS) $(GLXLDFLAGS)
|
||||
GL_CFLAGS=$(GLCFLAGS)
|
||||
GLB_DIR=gl_linux
|
||||
GLCL_DIR=glcl_linux
|
||||
|
||||
ifeq ($(USEASM),true)
|
||||
SWCL_OBJS=$(SOFTWARE_OBJS) vid_x.o snd_linux.o cd_linux.o sys_linux.o sys_dosa.o
|
||||
else
|
||||
SWCL_OBJS=$(SOFTWARE_OBJS) vid_x.o snd_linux.o cd_linux.o sys_linux.o
|
||||
endif
|
||||
SW_EXE_NAME=../fteswqw.exe
|
||||
SWCL_EXE_NAME=../fteswqwcl.exe
|
||||
SW_LDFLAGS=$(SWLDFLAGS) $(XLDFLAGS)
|
||||
SW_CFLAGS=$(SWCFLAGS)
|
||||
SWB_DIR=sw_linux
|
||||
SWCL_DIR=swcl_linux
|
||||
|
||||
ifeq ($(USEASM),true)
|
||||
MCL_OBJS=$(GLQUAKE_OBJS) $(SOFTWARE_OBJS) gl_vidlinuxglx.o vid_x.o snd_linux.o cd_linux.o sys_linux.o sys_dosa.o
|
||||
else
|
||||
MCL_OBJS=$(GLQUAKE_OBJS) $(SOFTWARE_OBJS) gl_vidlinuxglx.o vid_x.o snd_linux.o cd_linux.o sys_linux.o
|
||||
endif
|
||||
M_EXE_NAME=../fteqw
|
||||
MCL_EXE_NAME=../fteqwcl
|
||||
M_LDFLAGS=$(GLLDFLAGS) $(GLXLDFLAGS)
|
||||
M_CFLAGS=$(SWCFLAGS) $(GLCFLAGS)
|
||||
MB_DIR=m_linux
|
||||
MCL_DIR=mcl_linux
|
||||
|
||||
|
||||
|
||||
endif
|
||||
|
||||
SV_DIR?=sv_sdl
|
||||
|
||||
.default: help
|
||||
all: sv-rel sw-rel gl-rel m-rel
|
||||
|
||||
VPATH = $(BASE_DIR) : $(CLIENT_DIR) : $(GL_DIR) : $(COMMON_DIR) : $(SW_DIR) : $(SERVER_DIR) : $(NQPROT_DIR) : $(HTTP_DIR) : $(BASE_DIR)/irc : $(BASE_DIR)/email : $(QUX_DIR) : $(PROGS_DIR) : $(SNDCODEC_DIR)
|
||||
|
||||
|
||||
$(OUT_DIR)/%.o : %.c
|
||||
$(DO_CC)
|
||||
|
||||
ifeq ($(USEASM),true)
|
||||
$(OUT_DIR)/%.o : %.s
|
||||
$(DO_AS)
|
||||
endif
|
||||
|
||||
#addprefix is to add the ./release/server/ part of the object name
|
||||
#foreach is needed as the OBJS is a list of variable names containing object lists.
|
||||
#which is needed as windows sucks too much for the chaining to carry a full list.
|
||||
#god knows how gcc loads the list properly.
|
||||
#or at least I hope he does. It makes no sence to mortals.
|
||||
$(OUT_DIR)/$(EXE_NAME): $(addprefix $(OUT_DIR)/, $(foreach ol, $(OBJS), $($(ol))))
|
||||
$(CC) $(CFLAGS) -o $@ $(addprefix $(OUT_DIR)/, $(foreach ol, $(OBJS), $($(ol)))) $(LDFLAGS)
|
||||
|
||||
_out-rel:
|
||||
$(MAKE) $(OUT_DIR)/$(EXE_NAME) EXE_NAME="$(EXE_NAME)" OUT_DIR="$(OUT_DIR)" CFLAGS="$(CFLAGS) $(RELEASE_CFLAGS)" LDFLAGS="$(BASELDFLAGS) $(LDFLAGS)" OBJS="$(OBJS)"
|
||||
strip --strip-all $(OUT_DIR)/$(EXE_NAME)
|
||||
|
||||
_out-dbg:
|
||||
$(MAKE) $(OUT_DIR)/$(EXE_NAME) EXE_NAME="$(EXE_NAME)" OUT_DIR="$(OUT_DIR)" CFLAGS="$(CFLAGS) $(DEBUG_CFLAGS)" LDFLAGS="$(BASELDFLAGS) $(LDFLAGS)" OBJS="$(OBJS)"
|
||||
|
||||
_cl-rel:
|
||||
$(MAKE) _out-rel EXE_NAME="$(EXE_NAME)" OUT_DIR="$(OUT_DIR)" CFLAGS="$(CLIENT_ONLY_CFLAGS) $(CFLAGS)" LDFLAGS="$(LDFLAGS)" SOBJS="$(SOBJS)" OBJS="SOBJS COMMON_OBJS NQPROT_OBJS CLIENT_OBJS PROGS_OBJS"
|
||||
|
||||
_cl-dbg:
|
||||
$(MAKE) _out-dbg EXE_NAME="$(EXE_NAME)" OUT_DIR="$(OUT_DIR)" CFLAGS="$(CLIENT_ONLY_CFLAGS) $(CFLAGS)" LDFLAGS="$(LDFLAGS)" SOBJS="$(SOBJS)" OBJS="SOBJS COMMON_OBJS NQPROT_OBJS CLIENT_OBJS PROGS_OBJS"
|
||||
|
||||
_clsv-rel: reldir
|
||||
$(MAKE) _out-rel EXE_NAME="$(EXE_NAME)" OUT_DIR="$(OUT_DIR)" CFLAGS="$(JOINT_CFLAGS) $(CFLAGS)" LDFLAGS="$(LDFLAGS)" SOBJS="$(SOBJS)" OBJS="SOBJS COMMON_OBJS NQPROT_OBJS CLIENT_OBJS PROGS_OBJS SERVER_OBJS"
|
||||
|
||||
_clsv-dbg: debugdir
|
||||
$(MAKE) _out-dbg EXE_NAME="$(EXE_NAME)" OUT_DIR="$(OUT_DIR)" CFLAGS="$(JOINT_CFLAGS) $(CFLAGS)" LDFLAGS="$(LDFLAGS)" SOBJS="$(SOBJS)" OBJS="SOBJS COMMON_OBJS NQPROT_OBJS CLIENT_OBJS PROGS_OBJS SERVER_OBJS"
|
||||
|
||||
|
||||
sv-tmp: reldir debugdir
|
||||
$(MAKE) $(TYPE) OUT_DIR="$(OUT_DIR)" EXE_NAME="$(SV_EXE_NAME)" CFLAGS="$(SV_CFLAGS)" LDFLAGS="$(SV_LDFLAGS)" OBJS="SV_OBJS"
|
||||
sv-rel:
|
||||
$(MAKE) sv-tmp TYPE=_out-rel OUT_DIR="$(RELEASE_DIR)/$(SV_DIR)"
|
||||
sv-dbg:
|
||||
$(MAKE) sv-tmp TYPE=_out-dbg OUT_DIR="$(DEBUG_DIR)/$(SV_DIR)"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
glcl-tmp:
|
||||
$(MAKE) $(TYPE) OUT_DIR="$(OUT_DIR)" EXE_NAME="$(GLCL_EXE_NAME)" CFLAGS="$(GL_CFLAGS)" LDFLAGS="$(GL_LDFLAGS)" SOBJS="$(GLCL_OBJS)"
|
||||
gl-tmp:
|
||||
$(MAKE) $(TYPE) OUT_DIR="$(OUT_DIR)" EXE_NAME="$(GL_EXE_NAME)" CFLAGS="$(GL_CFLAGS)" LDFLAGS="$(GL_LDFLAGS)" SOBJS="$(GLCL_OBJS)"
|
||||
|
||||
glcl-rel:
|
||||
$(MAKE) glcl-tmp TYPE=_cl-rel OUT_DIR="$(RELEASE_DIR)/$(GLCL_DIR)"
|
||||
glcl-dbg:
|
||||
$(MAKE) glcl-tmp TYPE=_cl-dbg OUT_DIR="$(DEBUG_DIR)/$(GLCL_DIR)"
|
||||
gl-rel:
|
||||
$(MAKE) gl-tmp TYPE=_clsv-rel OUT_DIR="$(RELEASE_DIR)/$(GLB_DIR)"
|
||||
gl-dbg:
|
||||
$(MAKE) gl-tmp TYPE=_clsv-dbg OUT_DIR="$(DEBUG_DIR)/$(GLB_DIR)"
|
||||
|
||||
|
||||
|
||||
|
||||
swcl-tmp:
|
||||
$(MAKE) $(TYPE) OUT_DIR="$(OUT_DIR)" EXE_NAME="$(SWCL_EXE_NAME)" CFLAGS="$(SW_CFLAGS)" LDFLAGS="$(SW_LDFLAGS)" SOBJS="$(SWCL_OBJS)"
|
||||
sw-tmp:
|
||||
$(MAKE) $(TYPE) OUT_DIR="$(OUT_DIR)" EXE_NAME="$(SW_EXE_NAME)" CFLAGS="$(SW_CFLAGS)" LDFLAGS="$(SW_LDFLAGS)" SOBJS="$(SWCL_OBJS)"
|
||||
|
||||
swcl-rel:
|
||||
$(MAKE) swcl-tmp TYPE=_cl-rel OUT_DIR="$(RELEASE_DIR)/$(SWCL_DIR)"
|
||||
swcl-dbg:
|
||||
$(MAKE) swcl-tmp TYPE=_cl-dbg OUT_DIR="$(DEBUG_DIR)/$(SWCL_DIR)"
|
||||
sw-rel:
|
||||
$(MAKE) sw-tmp TYPE=_clsv-rel OUT_DIR="$(RELEASE_DIR)/$(SWB_DIR)"
|
||||
sw-dbg:
|
||||
$(MAKE) sw-tmp TYPE=_clsv-dbg OUT_DIR="$(DEBUG_DIR)/$(SWB_DIR)"
|
||||
|
||||
|
||||
|
||||
mcl-tmp:
|
||||
$(MAKE) $(TYPE) OUT_DIR="$(OUT_DIR)" EXE_NAME="$(MCL_EXE_NAME)" CFLAGS="$(M_CFLAGS)" LDFLAGS="$(M_LDFLAGS)" SOBJS="$(MCL_OBJS)"
|
||||
mcl-rel:
|
||||
$(MAKE) mcl-tmp TYPE=_cl-rel OUT_DIR="$(RELEASE_DIR)/$(MCL_DIR)"
|
||||
mcl-dbg:
|
||||
$(MAKE) mcl-tmp TYPE=_cl-dbg OUT_DIR="$(DEBUG_DIR)/$(MCL_DIR)"
|
||||
|
||||
|
||||
m-tmp:
|
||||
$(MAKE) $(TYPE) OUT_DIR="$(OUT_DIR)" EXE_NAME="$(M_EXE_NAME)" CFLAGS="$(M_CFLAGS)" LDFLAGS="$(M_LDFLAGS)" SOBJS="$(MCL_OBJS)"
|
||||
m-rel:
|
||||
$(MAKE) m-tmp TYPE=_clsv-rel OUT_DIR="$(RELEASE_DIR)/$(MCL_DIR)"
|
||||
m-dbg:
|
||||
$(MAKE) m-tmp TYPE=_clsv-dbg OUT_DIR="$(DEBUG_DIR)/$(MCL_DIR)"
|
||||
|
||||
|
||||
ifdef windir
|
||||
debugdir:
|
||||
@-mkdir $(subst /,\, $(OUT_DIR))
|
||||
reldir:
|
||||
@-mkdir $(subst /,\, $(OUT_DIR))
|
||||
else
|
||||
reldir:
|
||||
@-mkdir $(RELEASE_DIR)
|
||||
@-mkdir $(OUT_DIR)
|
||||
debugdir:
|
||||
@-mkdir $(DEBUG_DIR)
|
||||
@-mkdir $(OUT_DIR)
|
||||
endif
|
||||
|
||||
help:
|
||||
@-echo "Specfic targets:"
|
||||
@-echo "clean - removes all output (use make dirs afterwards)"
|
||||
@-echo "all - make all the targets possible"
|
||||
@-echo ""
|
||||
@-echo "Normal targets:"
|
||||
@-echo "(each of these targets must have the postfix -rel or -dbg)"
|
||||
@-echo "sv"
|
||||
@-echo "gl"
|
||||
@-echo "sw"
|
||||
|
||||
clean:
|
||||
-rm -f -r $(RELEASE_DIR)
|
||||
-rm -f -r $(DEBUG_DIR)
|
||||
|
Loading…
Reference in a new issue