Marco Cawthorne
d41b90c081
VGUI-Menu: friendList, chat backend, textview class proto SurfaceProps: Flesh impacts recognition PropData: BreakModels now use a bodyque to limit possible physics overhead PMove: falldamage, liquids can now be configured via external decl NSWeapon: added alternative punchangle based on springs, 'punchSpring X Y Z' in decl API: Team class management APIS NSPhysicsEntity: Optimised, optimised, optimised. New cvar: phys_lowspec. Scraping, impact effects etc have been added. More polish everywhere else
430 lines
20 KiB
Makefile
430 lines
20 KiB
Makefile
#
|
|
# Nuclide GNUMakefile
|
|
#
|
|
# Apr 2024 by Marco Cawthorne <marco@vera-visions.com>
|
|
# Last updated: 2024/11/28
|
|
#
|
|
|
|
# set `GAME` when issuing make. E.g. `make GAME=wastes`
|
|
GAME=base
|
|
|
|
# affects the output binary name (e.g. NAME=TheWastes > TheWastes_x64.exe) for dev builds
|
|
NAME=`./Tools/get-name.sh $(GAME)`
|
|
GAME_ARCH=x64
|
|
GAME_EXT=
|
|
GAME_BINARY=$(NAME)_$(GAME_ARCH)$(GAME_EXT)
|
|
GAMEDS_BINARY=$(NAME)DS_$(GAME_ARCH)$(GAME_EXT)
|
|
|
|
ENGINE_URL=https://www.github.com/fte-team/fteqw
|
|
|
|
# FTE specific builds
|
|
ENGINE_ARCH=amd64
|
|
ENGINE_CLBUILD=m-dbg
|
|
ENGINE_SVBUILD=sv-dbg
|
|
ENGINE_BINARY=./ThirdParty/fteqw/engine/debug/$(GAME)
|
|
ENGINE_DEDICATED=./ThirdParty/fteqw/engine/debug/$(GAME)-sv
|
|
ENGINE_BINARY_LIN32=./ThirdParty/fteqw/engine/release/$(GAME)32
|
|
ENGINE_BINARY_LIN64=./ThirdParty/fteqw/engine/release/$(GAME)64
|
|
ENGINE_BINARY_WIN32=./ThirdParty/fteqw/engine/release/$(GAME).exe
|
|
ENGINE_BINARY_WIN64=./ThirdParty/fteqw/engine/release/$(GAME)64.exe
|
|
ENGINE_DS_LIN32=./ThirdParty/fteqw/engine/release/$(GAME)-sv32
|
|
ENGINE_DS_LIN64=./ThirdParty/fteqw/engine/release/$(GAME)-sv64
|
|
ENGINE_DS_WIN32=./ThirdParty/fteqw/engine/release/$(GAME)sv.exe
|
|
ENGINE_DS_WIN64=./ThirdParty/fteqw/engine/release/$(GAME)sv64.exe
|
|
|
|
NUCLIDE_DIR=`pwd`
|
|
QCC_DIR=$(NUCLIDE_DIR)
|
|
BUILD_DIR=$(NUCLIDE_DIR)/build
|
|
EDITOR=radiant
|
|
NATIVE_PLUGINS=`head -n 1 ../../../$(GAME)/PLUGINS`
|
|
|
|
define CMDSTR
|
|
#
|
|
endef
|
|
|
|
define ARGSTR
|
|
\$
|
|
endef
|
|
|
|
RADIANT_GAME="$(NUCLIDE_DIR)/ThirdParty/gtkradiant/install/games/$(GAME).game"
|
|
RADIANT_XLINK="$(NUCLIDE_DIR)/ThirdParty/gtkradiant/install/installs/$(NAME)Pack/game/game.xlink"
|
|
RADIANT_SYNAPSE="$(NUCLIDE_DIR)/ThirdParty/gtkradiant/install/installs/$(NAME)Pack/game/synapse.config"
|
|
RADIANT_PROJECT="$(NUCLIDE_DIR)/ThirdParty/gtkradiant/install/installs/$(NAME)Pack/install/$(GAME)/scripts/default_project.proj"
|
|
RADIANT_TEXTURES="$(NUCLIDE_DIR)/ThirdParty/gtkradiant/install/installs/$(NAME)Pack/install/$(GAME)/textures"
|
|
ENTITY_DEF="$(NUCLIDE_DIR)/ThirdParty/gtkradiant/install/installs/$(NAME)Pack/install/$(GAME)/scripts/entities.def"
|
|
RADIANT_SHADERLIST="$(NUCLIDE_DIR)/ThirdParty/gtkradiant/install/installs/$(NAME)Pack/install/$(GAME)/scripts/shaderlist.txt"
|
|
|
|
EDITOR_VMAP="$(ARGSTR)TEMPLATEenginepath/vmap"
|
|
EDITOR_ENGINEPATH="$(ARGSTR)TEMPLATEenginepath"
|
|
EDITOR_BASEPATH="$(ARGSTR)TEMPLATEbasedir"
|
|
EDITOR_HOMEPATH="$(ARGSTR)TEMPLATEuserhomepath"
|
|
|
|
help:
|
|
@printf "#####################\nNuclide Makefile Help\n#####################\n\nmain targets:\n"
|
|
@printf "\tgame [GAME=base]\n"
|
|
@printf "\t\talternatively: client, server, menu [GAME=base]\n"
|
|
@printf "\tedef [GAME=base]\n"
|
|
@printf "\tengine [GAME=base] [NAME=MyGame]\n"
|
|
@printf "\tdedicated [GAME=base]\n"
|
|
@printf "\tplugins [GAME=base] [NATIVE_PLUGINS=\"ode ffmpeg\"]\n"
|
|
@printf "\ttools\n"
|
|
@printf "\teditor\n"
|
|
@printf "\tdocs\n"
|
|
@printf "\tdist [GAME=base]\n"
|
|
@printf "\tclean[-game,engine,tools] [GAME=base]\n"
|
|
@printf "\tupdate [GAME=base]\n"
|
|
@printf "\nthird-party targets:\n"
|
|
@printf "\tfteqw, fteqw-sv, fteqw-plugins\n"
|
|
@printf "\tradiant, netradiant-custom\n"
|
|
|
|
all: game engine dedicated plugins
|
|
|
|
game: fteqcc
|
|
-cp src/cvar_defaults.cfg "$(GAME)/zpak001.pk3dir/default_cvar.cfg"
|
|
cd "$(GAME)/src/" && $(MAKE) QCC=$(QCC_DIR)/../../fteqcc
|
|
|
|
client: fteqcc
|
|
cd "$(GAME)/src/client/" && $(MAKE) QCC=$(QCC_DIR)/../../../fteqcc
|
|
|
|
server: fteqcc
|
|
cd "$(GAME)/src/server/" && $(MAKE) QCC=$(QCC_DIR)/../../../fteqcc
|
|
|
|
rules: fteqcc
|
|
cd "$(GAME)/src/rules/" && $(MAKE) QCC=$(QCC_DIR)/../../../fteqcc
|
|
|
|
menu: fteqcc
|
|
cd "$(GAME)/src/menu/" && $(MAKE) QCC=$(QCC_DIR)/../../../fteqcc
|
|
|
|
mapc: fteqcc
|
|
cd "$(GAME)/src/maps/" && $(MAKE) QCC=$(QCC_DIR)/../../../fteqcc
|
|
|
|
# will build a gamepack for gtkradiant
|
|
radiant-game: radiant edef
|
|
echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"yes\"?>" > "$(RADIANT_GAME)"
|
|
echo "<game" >> "$(RADIANT_GAME)"
|
|
echo " name=\"$(NAME)\"" >> "$(RADIANT_GAME)"
|
|
echo " enginepath_linux=\"$(NUCLIDE_DIR)\"" >> "$(RADIANT_GAME)"
|
|
echo " gametools_linux=\"$(NUCLIDE_DIR)/ThirdParty/gtkradiant/install/installs/$(NAME)Pack/game\"" >> "$(RADIANT_GAME)"
|
|
echo " prefix=\".$(GAME)\"" >> "$(RADIANT_GAME)"
|
|
echo " basegame=\"$(GAME)\"" >> "$(RADIANT_GAME)"
|
|
echo "/>" >> "$(RADIANT_GAME)"
|
|
mkdir -p "$(NUCLIDE_DIR)/ThirdParty/gtkradiant/install/installs/$(NAME)Pack/game"
|
|
echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"yes\"?>" > "$(RADIANT_XLINK)"
|
|
echo "<!-- Links for the $(NAME) game pack -->" >> "$(RADIANT_XLINK)"
|
|
echo "<links>" >> "$(RADIANT_XLINK)"
|
|
echo "<item name=\"Nuclide Developer Reference\" url=\"http://developer.vera-visions.com/\"/>" >> "$(RADIANT_XLINK)"
|
|
echo "<item name=\"Vera Visions\" url=\"http://www.vera-visions.com/\"/>" >> "$(RADIANT_XLINK)"
|
|
echo "</links>" >> "$(RADIANT_XLINK)"
|
|
echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"yes\"?><synapseconfig><client name=\"core\"><api name=\"image\">" > "$(RADIANT_SYNAPSE)"
|
|
echo "png jpg tga" >> "$(RADIANT_SYNAPSE)"
|
|
echo "</api><api name=\"VFS\">" >> "$(RADIANT_SYNAPSE)"
|
|
echo "pk3" >> "$(RADIANT_SYNAPSE)"
|
|
echo "</api><api name=\"shaders\">" >> "$(RADIANT_SYNAPSE)"
|
|
echo "quake3" >> "$(RADIANT_SYNAPSE)"
|
|
echo "</api><api name=\"map\">" >> "$(RADIANT_SYNAPSE)"
|
|
echo "mapq3" >> "$(RADIANT_SYNAPSE)"
|
|
echo "</api><api name=\"eclass\">" >> "$(RADIANT_SYNAPSE)"
|
|
echo "def" >> "$(RADIANT_SYNAPSE)"
|
|
echo "</api><api name=\"surfdialog\">" >> "$(RADIANT_SYNAPSE)"
|
|
echo "quake3" >> "$(RADIANT_SYNAPSE)"
|
|
echo "</api></client><client name=\"image\"><api name=\"VFS\">" >> "$(RADIANT_SYNAPSE)"
|
|
echo "pk3" >> "$(RADIANT_SYNAPSE)"
|
|
echo "</api></client><client name=\"shaders\"><api name=\"shaders\">" >> "$(RADIANT_SYNAPSE)"
|
|
echo "quake3" >> "$(RADIANT_SYNAPSE)"
|
|
echo "</api><api name=\"VFS\">" >> "$(RADIANT_SYNAPSE)"
|
|
echo "pk3" >> "$(RADIANT_SYNAPSE)"
|
|
echo "</api></client><client name=\"map\"><api name=\"shaders\">" >> "$(RADIANT_SYNAPSE)"
|
|
echo "quake3" >> "$(RADIANT_SYNAPSE)"
|
|
echo "</api></client><client name=\"xmap\"><api name=\"shaders\">" >> "$(RADIANT_SYNAPSE)"
|
|
echo "quake3" >> "$(RADIANT_SYNAPSE)"
|
|
echo "</api></client><client name=\"model\"><api name=\"shaders\">" >> "$(RADIANT_SYNAPSE)"
|
|
echo "quake3" >> "$(RADIANT_SYNAPSE)"
|
|
echo "</api><api name=\"VFS\">" >> "$(RADIANT_SYNAPSE)"
|
|
echo "pk3" >> "$(RADIANT_SYNAPSE)"
|
|
echo "</api></client></synapseconfig>" >> "$(RADIANT_SYNAPSE)"
|
|
mkdir -p "$(NUCLIDE_DIR)/ThirdParty/gtkradiant/install/installs/$(NAME)Pack/install/$(GAME)/scripts"
|
|
cp "$(GAME)/scripts/entities.def" "$(ENTITY_DEF)"
|
|
echo "<?xml version=\"1.0\"?>" > "$(RADIANT_PROJECT)"
|
|
echo "<!DOCTYPE project SYSTEM \"dtds/project.dtd\">" >> "$(RADIANT_PROJECT)"
|
|
echo "<project>" >> "$(RADIANT_PROJECT)"
|
|
echo "<key name=\"version\" value=\"2\"/>" >> "$(RADIANT_PROJECT)"
|
|
echo "<key name=\"template_version\" value=\"8\"/>" >> "$(RADIANT_PROJECT)"
|
|
echo "<key name=\"basepath\" value=\"$(EDITOR_ENGINEPATH)$(EDITOR_BASEPATH)/\"/>" >> "$(RADIANT_PROJECT)"
|
|
echo "<key name=\"rshcmd\" value=\"\"/>" >> "$(RADIANT_PROJECT)"
|
|
echo "<key name=\"remotebasepath\" value=\"$(EDITOR_ENGINEPATH)$(EDITOR_BASEPATH)/\"/>" >> "$(RADIANT_PROJECT)"
|
|
echo "<key name=\"entitypath\" value=\"$(ARGSTR)TEMPLATEtoolspath$(EDITOR_BASEPATH)/scripts/entities.def\"/>" >> "$(RADIANT_PROJECT)"
|
|
echo "<key name=\"texturepath\" value=\"$(EDITOR_ENGINEPATH)$(EDITOR_BASEPATH)/textures/\"/>" >> "$(RADIANT_PROJECT)"
|
|
echo "<key name=\"autosave\" value=\"$(EDITOR_HOMEPATH)$(EDITOR_BASEPATH)/maps/autosave.map\"/>" >> "$(RADIANT_PROJECT)"
|
|
echo "<key name=\"mapspath\" value=\"$(EDITOR_HOMEPATH)$(EDITOR_BASEPATH)/maps/\"/>" >> "$(RADIANT_PROJECT)"
|
|
echo "<key name=\"bsp_VMAP: (Fast Fullbright)\" value=\"! "$(EDITOR_VMAP)" -v $(CMDSTR) -game $(GAME) -fs_basepath "$(EDITOR_ENGINEPATH)" -custinfoparms -threads 4 -samplesize 8 $(ARGSTR) && ! "$(EDITOR_VMAP)" $(CMDSTR) -game $(GAME) -fs_basepath "$(EDITOR_ENGINEPATH)" -vis -saveprt$(ARGSTR)\" />" >> "$(RADIANT_PROJECT)"
|
|
echo "<key name=\"bsp_VMAP: (Fast Light)\" value=\"! "$(EDITOR_VMAP)" -v $(CMDSTR) -game $(GAME) -fs_basepath "$(EDITOR_ENGINEPATH)" -custinfoparms -threads 4 -samplesize 8 $(ARGSTR) && ! "$(EDITOR_VMAP)" $(CMDSTR) -game $(GAME) -fs_basepath "$(EDITOR_ENGINEPATH)" -vis -saveprt $(ARGSTR) && ! "$(EDITOR_VMAP)" $(CMDSTR) -game $(GAME) -fs_basepath "$(EDITOR_ENGINEPATH)" -light -custinfoparms -v -samplesize 8 -fast -threads 4 -samples 4 -shade -shadeangle 60 -patchshadows $(ARGSTR)\" />" >> "$(RADIANT_PROJECT)"
|
|
echo "<key name=\"bsp_VMAP: (Full)\" value=\"! "$(EDITOR_VMAP)" -v $(CMDSTR) -game $(GAME) -fs_basepath "$(EDITOR_ENGINEPATH)" -custinfoparms -threads 4 -samplesize 8 $(ARGSTR) && ! "$(EDITOR_VMAP)" $(CMDSTR) -game $(GAME) -fs_basepath "$(EDITOR_ENGINEPATH)" -vis -saveprt $(ARGSTR) && ! "$(EDITOR_VMAP)" $(CMDSTR) -game $(GAME) -fs_basepath "$(EDITOR_ENGINEPATH)" -light -custinfoparms -samplesize 8 -fast -threads 4 -samples 4 -shade -shadeangle 60 -patchshadows $(ARGSTR)\" />" >> "$(RADIANT_PROJECT)"
|
|
echo "</project>" >> "$(RADIANT_PROJECT)"
|
|
echo "" > "$(RADIANT_SHADERLIST)"
|
|
mkdir -p "$(RADIANT_TEXTURES)/."
|
|
rsync -rva "$(NUCLIDE_DIR)/Tools/textures/." "$(RADIANT_TEXTURES)/."
|
|
mkdir -p "$(HOME)/.$(GAME)/$(GAME)/scripts"
|
|
rsync -rva "$(NUCLIDE_DIR)/ThirdParty/gtkradiant/install/installs/$(NAME)Pack/install/$(GAME)/." "$(HOME)/.$(GAME)/$(GAME)/."
|
|
rsync -rva "$(NUCLIDE_DIR)/ThirdParty/gtkradiant/install/installs/$(NAME)Pack/install/$(GAME)/." "./$(GAME)/."
|
|
|
|
edef:
|
|
Tools/make_mapdef.sh $(GAME)
|
|
|
|
maps:
|
|
Tools/make_maps.sh $(GAME)
|
|
|
|
textures:
|
|
Tools/make_textures.sh $(GAME)
|
|
|
|
$(GAME)/maps/%.bsp:
|
|
Tools/make_map.sh $(GAME) "$@"
|
|
|
|
models:
|
|
Tools/make_models.sh $(GAME)
|
|
|
|
docs:
|
|
doxygen
|
|
|
|
# devel
|
|
engine: $(ENGINE_BINARY)
|
|
dedicated: $(ENGINE_DEDICATED)
|
|
plugins: fteqw-plugins
|
|
editor: $(EDITOR)
|
|
|
|
# release
|
|
engine-win32: $(ENGINE_BINARY_WIN32)
|
|
engine-win64: $(ENGINE_BINARY_WIN64)
|
|
engine-lin32: $(ENGINE_BINARY_LIN32)
|
|
engine-lin64: $(ENGINE_BINARY_LIN64)
|
|
|
|
dedicated-win32: $(ENGINE_DS_WIN32)
|
|
dedicated-win64: $(ENGINE_DS_WIN64)
|
|
dedicated-lin32: $(ENGINE_DS_LIN32)
|
|
dedicated-lin64: $(ENGINE_DS_LIN64)
|
|
|
|
# misc
|
|
tools: fteqcc vmap vvmtool iqmtool imgtool generatebuiltinsl makevulkanblob
|
|
|
|
vmap:
|
|
cd Tools/vmap && $(MAKE)
|
|
install -m 0777 Tools/vmap/vmap vmap
|
|
|
|
vvmtool:
|
|
cd Tools/vvmtool && $(MAKE)
|
|
install -m 0777 Tools/vvmtool/vvmtool vvmtool
|
|
|
|
worldspawn:
|
|
cd Tools/worldspawn && $(MAKE)
|
|
|
|
dist: dist-pak dist-engine
|
|
|
|
dist-engine: engine-lin32 engine-lin64 engine-win32 engine-win64 dedicated-lin32 dedicated-lin64 dedicated-win32 dedicated-win64
|
|
|
|
dist-pak:
|
|
mkdir -p "$(BUILD_DIR)/$(NAME)-content/$(GAME)"
|
|
./Tools/make_dist.sh "$(GAME)" $(BUILD_DIR)/$(NAME)-content/$(GAME) > $(BUILD_DIR)/$(NAME)-content.log
|
|
-$(GAME)/post-dist.sh "$(GAME)" "$(BUILD_DIR)/$(NAME)-content"
|
|
|
|
# generate trinity .shader files from .mat within the game directory
|
|
trshaders:
|
|
Tools/make_trshaders.sh $(GAME)
|
|
|
|
# recycling center
|
|
vacuum:
|
|
-rm ./$(GAME)/csqccore.txt
|
|
-rm ./$(GAME)/ssqccore.txt
|
|
-rm ./$(GAME)/menucore.txt
|
|
-rm ./$(GAME)/condump.txt
|
|
-rm ./$(GAME)/fte.cfg
|
|
-rm ./$(GAME)/config.cfg
|
|
-rm ./$(GAME)/*.lno
|
|
-rm -rfv ./$(GAME)/csprogsvers
|
|
-rm -rfv ./$(GAME)/data
|
|
-rm -rfv ./$(GAME)/saves
|
|
|
|
clean: clean-game clean-engine clean-tools clean-dist
|
|
|
|
clean-dist:
|
|
-rm -r $(BUILD_DIR)/$(NAME)-content/
|
|
-rm -r $(BUILD_DIR)/$(NAME)-win/
|
|
-rm -r $(BUILD_DIR)/$(NAME)-linux/
|
|
|
|
clean-game:
|
|
-rm conhistory.txt crash.log fullchain.pem \
|
|
privkey.pem installed.lst $(GAME)/csprogs.dat \
|
|
$(GAME)/menu.dat $(GAME)/progs.dat $(GAME)/csprogs.lno \
|
|
$(GAME)/menu.lno $(GAME)/progs.lno $(GAME)/csqccore.txt \
|
|
$(GAME)/menucore.txt $(GAME)/ssqccore.txt fteplug_*.so
|
|
|
|
clean-engine:
|
|
cd ThirdParty/fteqw/engine && $(MAKE) clean
|
|
-rm $(NAME)_x64$(GAME_EXT) $(NAME)_x86$(GAME_EXT) $(NAME)DS_x64$(GAME_EXT) $(NAME)DS_x86$(GAME_EXT)
|
|
|
|
clean-fteqw:
|
|
cd ThirdParty/fteqw/engine && $(MAKE) clean
|
|
-rm fteqw fteqw-sv
|
|
|
|
clean-tools:
|
|
cd Tools/vmap && $(MAKE) clean
|
|
cd Tools/vvmtool && $(MAKE) clean
|
|
cd ThirdParty/fteqw/engine && $(MAKE) clean
|
|
-rm vmap vvmtool iqmtool imgtool fteqcc generatebuiltinsl makevulkanblob
|
|
|
|
debug:
|
|
gdb --args ./$(GAME_BINARY) +set sv_cheats 1 +set sv_csqcdebug 1 +set g_logLevel 3 +set g_logTimestamps 1
|
|
|
|
update:
|
|
if [ -f ./.git/config ];then git pull;fi
|
|
if [ -f $(GAME)/.git/config ];then cd $(GAME) && git pull;fi
|
|
if [ ! -d ThirdParty/fteqw ];then git clone $(ENGINE_URL) ThirdParty/fteqw;else cd ./ThirdParty/fteqw && git pull;fi
|
|
if [ ! -d Tools/vvmtool ];then git clone https://github.com/VeraVisions/vvmtool Tools/vvmtool;else cd ./Tools/vvmtool && git pull;fi
|
|
if [ ! -d Tools/vmap ];then git clone https://github.com/VeraVisions/vmap Tools/vmap;else cd ./Tools/vmap && git pull;fi
|
|
if [ ! -d Tools/worldspawn ];then git clone https://github.com/VeraVisions/worldspawn Tools/worldspawn;else cd ./Tools/worldspawn && git pull;fi
|
|
if [ ! -d ThirdParty/gtkradiant ];then git clone https://github.com/TTimo/gtkradiant ThirdParty/gtkradiant;else cd ./ThirdParty/gtkradiant && git pull;fi
|
|
if [ ! -d ThirdParty/netradiant-custom ];then git clone https://github.com/Garux/netradiant-custom ThirdParty/netradiant-custom;else cd ./ThirdParty/netradiant-custom && git pull;fi
|
|
|
|
# fte specific corner
|
|
fteqw-plugins:
|
|
cd ThirdParty/fteqw/engine && $(MAKE) plugins-dbg NATIVE_PLUGINS="$(NATIVE_PLUGINS)"
|
|
find ThirdParty/fteqw/engine/debug/ -name "fteplug_*.so" -exec mv '{}' ./ \;
|
|
|
|
fteqw-plugins-win32:
|
|
cd ThirdParty/fteqw/engine && $(MAKE) plugins-dbg NATIVE_PLUGINS="$(NATIVE_PLUGINS)" FTE_TARGET=win32
|
|
find ThirdParty/fteqw/engine/debug/ -name "fteplug_*.dll" -exec mv '{}' ./ \;
|
|
|
|
fteqw-plugins-win64:
|
|
cd ThirdParty/fteqw/engine && $(MAKE) plugins-dbg NATIVE_PLUGINS="$(NATIVE_PLUGINS)" FTE_TARGET=win64
|
|
find ThirdParty/fteqw/engine/debug/ -name "fteplug_*.dll" -exec mv '{}' ./ \;
|
|
|
|
fteqw-plugins-lin32:
|
|
cd ThirdParty/fteqw/engine && $(MAKE) plugins-dbg NATIVE_PLUGINS="$(NATIVE_PLUGINS)" FTE_TARGET=linux32
|
|
find ThirdParty/fteqw/engine/debug/ -name "fteplug_*.dll" -exec mv '{}' ./ \;
|
|
|
|
fteqw-plugins-lin64:
|
|
cd ThirdParty/fteqw/engine && $(MAKE) plugins-dbg NATIVE_PLUGINS="$(NATIVE_PLUGINS)" FTE_TARGET=linux64
|
|
find ThirdParty/fteqw/engine/debug/ -name "fteplug_*.dll" -exec mv '{}' ./ \;
|
|
|
|
$(ENGINE_BINARY):
|
|
cd ThirdParty/fteqw/engine && $(MAKE) makelibs ARCH=x86_64
|
|
cp $(GAME)/engine.h ./ThirdParty/fteqw/engine/common/config_$(GAME).h
|
|
cd ThirdParty/fteqw/engine && $(MAKE) $(ENGINE_CLBUILD) FTE_CONFIG=$(GAME) ARCH=x86_64
|
|
install -m 0777 $(ENGINE_BINARY) ./$(GAME_BINARY)
|
|
|
|
$(ENGINE_BINARY_WIN32):
|
|
cd ThirdParty/fteqw/engine && $(MAKE) makelibs FTE_TARGET=win32
|
|
cp $(GAME)/engine.h ./ThirdParty/fteqw/engine/common/config_$(GAME).h
|
|
cd ThirdParty/fteqw/engine && $(MAKE) m-rel FTE_TARGET=win32 FTE_CONFIG=$(GAME)
|
|
mkdir -p "$(BUILD_DIR)/$(NAME)-win"
|
|
install -m 0777 $(ENGINE_BINARY_WIN32) $(BUILD_DIR)/$(NAME)-win/$(NAME)_x86.exe
|
|
cd ThirdParty/fteqw/engine && $(MAKE) plugins-rel NATIVE_PLUGINS="$(NATIVE_PLUGINS)" FTE_CONFIG=$(GAME) FTE_TARGET=win32
|
|
find ThirdParty/fteqw/engine/release/ -name "fteplug_*.dll" -exec mv '{}' $(BUILD_DIR)/$(NAME)-win/ \;
|
|
|
|
$(ENGINE_BINARY_WIN64):
|
|
cd ThirdParty/fteqw/engine && $(MAKE) makelibs FTE_TARGET=win64
|
|
cp $(GAME)/engine.h ./ThirdParty/fteqw/engine/common/config_$(GAME).h
|
|
cd ThirdParty/fteqw/engine && $(MAKE) m-rel FTE_TARGET=win64 FTE_CONFIG=$(GAME)
|
|
mkdir -p "$(BUILD_DIR)/$(NAME)-win"
|
|
install -m 0777 $(ENGINE_BINARY_WIN64) $(BUILD_DIR)/$(NAME)-win/$(NAME)_x64.exe
|
|
cd ThirdParty/fteqw/engine && $(MAKE) plugins-rel NATIVE_PLUGINS="$(NATIVE_PLUGINS)" FTE_CONFIG=$(GAME) FTE_TARGET=win64
|
|
find ThirdParty/fteqw/engine/release/ -name "fteplug_*.dll" -exec mv '{}' $(BUILD_DIR)/$(NAME)-win/ \;
|
|
|
|
$(ENGINE_BINARY_LIN32):
|
|
cd ThirdParty/fteqw/engine && $(MAKE) makelibs ARCH=i686 FTE_TARGET=linux32
|
|
cp $(GAME)/engine.h ./ThirdParty/fteqw/engine/common/config_$(GAME).h
|
|
cd ThirdParty/fteqw/engine && $(MAKE) m-rel ARCH=i686 FTE_TARGET=linux32 FTE_CONFIG=$(GAME)
|
|
mkdir -p "$(BUILD_DIR)/$(NAME)-linux"
|
|
cd ThirdParty/fteqw/engine && $(MAKE) plugins-rel NATIVE_PLUGINS="$(NATIVE_PLUGINS)" FTE_CONFIG=$(GAME) FTE_TARGET=linux32
|
|
find ThirdParty/fteqw/engine/release/ -name "fteplug_*.so" -exec mv '{}' $(BUILD_DIR)/$(NAME)-linux/ \;
|
|
install -m 0777 $(ENGINE_BINARY_LIN32) $(BUILD_DIR)/$(NAME)-linux/$(NAME)_x86
|
|
|
|
$(ENGINE_BINARY_LIN64):
|
|
cd ThirdParty/fteqw/engine && $(MAKE) makelibs ARCH=x86_64 FTE_TARGET=linux64
|
|
cp $(GAME)/engine.h ./ThirdParty/fteqw/engine/common/config_$(GAME).h
|
|
cd ThirdParty/fteqw/engine && $(MAKE) m-rel ARCH=x86_64 FTE_TARGET=linux64 FTE_CONFIG=$(GAME)
|
|
mkdir -p "$(BUILD_DIR)/$(NAME)-linux"
|
|
install -m 0777 $(ENGINE_BINARY_LIN64) $(BUILD_DIR)/$(NAME)-linux/$(NAME)_x64
|
|
cd ThirdParty/fteqw/engine && $(MAKE) plugins-rel NATIVE_PLUGINS="$(NATIVE_PLUGINS)" FTE_CONFIG=$(GAME) FTE_TARGET=linux64
|
|
find ThirdParty/fteqw/engine/release/ -name "fteplug_*.so" -exec mv '{}' $(BUILD_DIR)/$(NAME)-linux/ \;
|
|
|
|
$(ENGINE_DEDICATED):
|
|
cd ThirdParty/fteqw/engine && $(MAKE) makelibs ARCH=x86_64
|
|
cp $(GAME)/engine.h ./ThirdParty/fteqw/engine/common/config_$(GAME).h
|
|
cd ThirdParty/fteqw/engine && $(MAKE) sv-dbg FTE_CONFIG=$(GAME) ARCH=x86_64
|
|
install -m 0777 $(ENGINE_DEDICATED) ./$(GAMEDS_BINARY)
|
|
|
|
$(ENGINE_DS_LIN32):
|
|
cd ThirdParty/fteqw/engine && $(MAKE) makelibs FTE_TARGET=win32
|
|
cp $(GAME)/engine.h ./ThirdParty/fteqw/engine/common/config_$(GAME).h
|
|
cd ThirdParty/fteqw/engine && $(MAKE) sv-rel FTE_TARGET=win32 FTE_CONFIG=$(GAME)
|
|
mkdir -p "$(BUILD_DIR)/$(NAME)-win"
|
|
install -m 0777 $(ENGINE_DS_WIN32) $(BUILD_DIR)/$(NAME)-win/$(NAME)DS_x86.exe
|
|
|
|
$(ENGINE_DS_LIN64):
|
|
cd ThirdParty/fteqw/engine && $(MAKE) makelibs FTE_TARGET=win64
|
|
cp $(GAME)/engine.h ./ThirdParty/fteqw/engine/common/config_$(GAME).h
|
|
cd ThirdParty/fteqw/engine && $(MAKE) sv-rel FTE_TARGET=win64 FTE_CONFIG=$(GAME)
|
|
mkdir -p "$(BUILD_DIR)/$(NAME)-win"
|
|
install -m 0777 $(ENGINE_DS_WIN64) $(BUILD_DIR)/$(NAME)-win/$(NAME)DS_x64.exe
|
|
|
|
$(ENGINE_DS_WIN32):
|
|
cd ThirdParty/fteqw/engine && $(MAKE) makelibs ARCH=i686 FTE_TARGET=linux32
|
|
cp $(GAME)/engine.h ./ThirdParty/fteqw/engine/common/config_$(GAME).h
|
|
cd ThirdParty/fteqw/engine && $(MAKE) sv-rel ARCH=i686 FTE_TARGET=linux32 FTE_CONFIG=$(GAME)
|
|
mkdir -p "$(BUILD_DIR)/$(NAME)-linux"
|
|
install -m 0777 $(ENGINE_DS_LIN32) $(BUILD_DIR)/$(NAME)-linux/$(NAME)DS_x86
|
|
|
|
$(ENGINE_DS_WIN64):
|
|
cd ThirdParty/fteqw/engine && $(MAKE) makelibs ARCH=x86_64 FTE_TARGET=linux64
|
|
cp $(GAME)/engine.h ./ThirdParty/fteqw/engine/common/config_$(GAME).h
|
|
cd ThirdParty/fteqw/engine && $(MAKE) sv-rel ARCH=x86_64 FTE_TARGET=linux64 FTE_CONFIG=$(GAME)
|
|
mkdir -p "$(BUILD_DIR)/$(NAME)-linux"
|
|
install -m 0777 $(ENGINE_DS_LIN64) $(BUILD_DIR)/$(NAME)-linux/$(NAME)DS_x64
|
|
|
|
iqmtool:
|
|
cd ThirdParty/fteqw/engine && $(MAKE) iqmtool
|
|
install -m 0777 ./ThirdParty/fteqw/engine/release/iqmtool ./
|
|
|
|
imgtool:
|
|
cd ThirdParty/fteqw/engine && $(MAKE) imgtool
|
|
install -m 0777 ./ThirdParty/fteqw/engine/release/imgtool ./
|
|
|
|
fteqcc:
|
|
cd ThirdParty/fteqw/engine && $(MAKE) qcc-rel
|
|
install -m 0777 ./ThirdParty/fteqw/engine/release/fteqcc ./
|
|
|
|
generatebuiltinsl:
|
|
cd ThirdParty/fteqw/engine/shaders && $(MAKE) generatebuiltinsl
|
|
install -m 0777 ./ThirdParty/fteqw/engine/shaders/generatebuiltinsl ./
|
|
|
|
makevulkanblob:
|
|
cd ThirdParty/fteqw/engine/shaders && $(MAKE) makevulkanblob
|
|
install -m 0777 ./ThirdParty/fteqw/engine/shaders/makevulkanblob ./
|
|
|
|
# stock FTE engine
|
|
fteqw:
|
|
cd ThirdParty/fteqw/engine && $(MAKE) makelibs ARCH=x86_64
|
|
cd ThirdParty/fteqw/engine && $(MAKE) $(ENGINE_CLBUILD) ARCH=x86_64
|
|
install -m 0777 ./ThirdParty/fteqw/engine/debug/fteqw ./
|
|
|
|
fteqwglqw64.exe:
|
|
cd ThirdParty/fteqw/engine && $(MAKE) makelibs FTE_TARGET=win64
|
|
cd ThirdParty/fteqw/engine && $(MAKE) m-rel FTE_TARGET=win64
|
|
mkdir -p "$(BUILD_DIR)/$(NAME)-win"
|
|
install -m 0777 $(ENGINE_BINARY_WIN64) $(BUILD_DIR)/fteqwglqw64.exe
|
|
|
|
fteqw-sv:
|
|
cd ThirdParty/fteqw/engine && $(MAKE) makelibs ARCH=stock-x86_64
|
|
cp $(GAME)/engine.h ./ThirdParty/fteqw/engine/common/config_$(GAME).h
|
|
cd ThirdParty/fteqw/engine && $(MAKE) sv-dbg FTE_CONFIG=fteqw ARCH=stock-x86_64
|
|
install -m 0777 ./ThirdParty/fteqw/engine/debug/fteqw ./fteqw
|
|
|
|
# third-party level editing software
|
|
radiant:
|
|
if [ ! -d ThirdParty/gtkradiant ];then git clone https://github.com/TTimo/gtkradiant ThirdParty/gtkradiant;fi
|
|
cd ThirdParty/gtkradiant && scons
|
|
Tools/make_launcher.sh ./ThirdParty/gtkradiant/install/ ./radiant.bin radiant
|
|
|
|
netradiant-custom:
|
|
if [ ! -d ThirdParty/netradiant-custom ];then git clone https://github.com/Garux/netradiant-custom ThirdParty/netradiant-custom;fi
|
|
cd ThirdParty/netradiant-custom && $(MAKE)
|
|
Tools/make_launcher.sh ./ThirdParty/netradiant-custom/install/ ./radiant.x86_64 netradiant-custom
|