mirror of
https://github.com/ENSL/NS.git
synced 2024-11-29 15:51:51 +00:00
58358d0927
* Initial bot commit * Added server commands and cvars for adding AI players to the game. * Added auto modes for automating the adding and removal of bots * Bots connect to the server and join teams correctly * Added round restart and new map detection for AI system Push before new project added for detour * Initial bot integration * Integrated all basic bot code for navigation and task performing * Added support for multi_managers to better understand how buttons and triggers affect doors * Improved bot understanding of door triggers and weldables * Reworked nav profiles Nav profiles for bots are now dynamically updated to take into account changing capabilities, such as picking up a welder * Improved bot door usage * Added weldable obstacles back into navigation Bots now understand how to get around weldable barriers * Replaced fixed arrays with vectors * Resource node and hive lists are now vectors. * Further improved bot weld behaviour * Added dynamic reachability calculations When barriers and doors are open/closed, new reachability calculations are done for structures and items so bots understand when items/structures become reachable or unreachable as the match progresses. * Added team-based reachability calculations Reachabilities for structures and items are now based on the team, so bots understand when they can't reach a structure from their spawn point. * Implemented long-range off-mesh connections and dynamic off-mesh connections * Implemented fully dynamic off-mesh connections Phase gates now use connections rather than custom path finding. Much more performant. * Replaced arrays with vectors for simpler code * Started Bot Swimming * Bots understand trigger_changetarget Bots can now navigate doors operated with a trigger_changetarget so they understand the sequence in which triggers must be activated to make it work * Push before trying to fix long-range connections * Implement new off-mesh connection system * Redid population of door triggers * Fixed trigger types and links to doors * Added lift and moving platform support * Lift improvements * Bots avoid getting crushed under a lift when summoning it * Bots are better at judging which stop a platform needs to be at * Tweak lift and welder usage * Fixed bug with multiple off-mesh connections close together * Finish lift movement * Fixed dodgy path finding * Improved skulk ladder usage and lerk lift usage * Fix crash with path finding * Re-implement commander AI * Commander improvements * Improve commander sieging * Commander scanning tweak * Reimplemented regular marine AI * Start reimplementing alien AI * Implement gorge building behaviours * Start alien tactical decisioning * Continuing alien building and other non-combat logic * More alien role work * Adjusted base node definitions * Iterate Capper Logic * Alien assault AI * Alien Combat * Fix grenade throwing, better combat * Marine combat AI improvements * Commander improvements * Commander + nav improvements * Drop mines * Improved bot stuck detection * Commander supply improvements * Bot fill timing config * Added nsbots.cfg to configure internal bots * Changed bot config file to "nsbots.cfg" * Bug fixing with navigation * Fix skulk movement on ladders * Improved commander placement and tactical refresh * Fixed bug with ladder climbing * Doors block off-mesh connections * Finished doors blocking connections * Marine and alien tactical bug fixes * Add commander beacon back in * Start combat mode stuff * First pass at combat mode * Bots attack turrets * Fix ladder and wall climbing * Commander chat request * Improved skulk ladders * Added nav meshes for new bot code * Added bot configuration to listen server menu * Added bot config file * Added default bot config to listenserver.cfg * Added default bot settings to server.cfg * Include VS filter for bot files * Crash fixes * Bot improvements * Bot stability and mine placement improvements * Fixed crash on new map start with bots * Reverted Svencoop fix * Fixed crash, added more cvars * Performance improvement * Commander building improvements * Stop bot spasming when waiting to take command * Fixed doors not blocking connections * Added bot disabled guard to round start * Commander improvements, movement improvements * Tweaked level load sequence * Performance improvements * Bot load spread * Fixed commander update * Refactor bot frame handling * Bug fixes + Pierow's dynamic load spread * Minor bug fixes * Fix door detection, prep for test * Fixed commander siege spam * linux compile test * fix hardcoded inlcudes * O1 compile flag for detour - fix linux server crash * Revert detour compile flags to original for windows * linux build update * remove x64 build configs * update bot nav meshes and configs * fix bot physics at high server fps, update navmeshes. from @RGreenlees --------- Co-authored-by: RGreenlees <RGreenlees@users.noreply.github.com> Co-authored-by: RichardGreenlees <richard.greenlees@forecast.global>
290 lines
9.8 KiB
Text
290 lines
9.8 KiB
Text
#
|
|
# NS game library Makefile for x86 Linux
|
|
#
|
|
# 11.2015 Makefile
|
|
#
|
|
|
|
HLDLL_SRC_DIR=$(SOURCE_DIR)/dlls
|
|
HLWPN_SRC_DIR=$(HLDLL_SRC_DIR)/wpn_shared
|
|
NS_MOD_SRC_DIR=$(SOURCE_DIR)/mod
|
|
UTIL_SRC_DIR=$(SOURCE_DIR)/util
|
|
TEXTREP_SRC_DIR=$(SOURCE_DIR)/textrep
|
|
PM_SHARED_SRC_DIR=$(SOURCE_DIR)/pm_shared
|
|
DETOUR_SRC_DIR=$(SOURCE_DIR)/detour
|
|
|
|
HLDLL_OBJ_DIR=$(BUILD_OBJ_DIR)/hldll
|
|
HLWPN_OBJ_DIR=$(HLDLL_OBJ_DIR)/wpn_shared
|
|
PM_OBJ_DIR=$(HLDLL_OBJ_DIR)/pm_shared
|
|
GAME_SHARED_OBJ_DIR=$(HLDLL_OBJ_DIR)/game_shared
|
|
NS_MOD_OBJ_DIR=$(HLDLL_OBJ_DIR)/mod
|
|
UTIL_OBJ_DIR=$(HLDLL_OBJ_DIR)/util
|
|
TEXTREP_OBJ_DIR=$(HLDLL_OBJ_DIR)/textrep
|
|
DETOUR_OBJ_DIR=$(HLDLL_OBJ_DIR)/detour
|
|
|
|
#CFLAGS=$(BASE_CFLAGS) $(ARCH_CFLAGS) $(SHLIBCFLAGS) -DCLIENT_WEAPONS
|
|
CFLAGS=$(BASE_CFLAGS) $(ARCH_CFLAGS) -Dstricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp -DAVH_SERVER -DLINUX -DVALVE_DLL -DQUIVER -DVOXEL -DQUAKE2 -DDEDICATED -DSWDS -D_STLP_USE_GLIBC -DUSE_OLDAUTH -Dsprintf_s=snprintf -D_stricmp=strcasecmp -DDISABLE_VEC_FUNCS -D_FORTIFY_SOURCE=0
|
|
#-O3 -ffast-math -fno-strength-reduce -DCURL_STATICLIB
|
|
DETOUR_CFLAGS=$(filter-out -O3,$(ARCH_CFLAGS)) -O1
|
|
|
|
HLDLL_INCLUDEDIRS=-I$(HLDLL_SRC_DIR) -I../ -I$(ENGINE_SRC_DIR) -I$(COMMON_SRC_DIR) -I$(PM_SRC_DIR) -I$(GAME_SHARED_SRC_DIR) -I$(PUBLIC_SRC_DIR) -I$(UTIL_SRC_DIR) -I$(NS_MOD_SRC_DIR) -I$(PM_OBJ_DIR) -I$(DETOUR_SRC_DIR) -I$(DETOUR_SRC_DIR)/Include
|
|
PM_INCLUDEDIRS=-I$(COMMON_SRC_DIR) -I$(PUBLIC_SRC_DIR) -I$(PM_SHARED_SRC_DIR)
|
|
GAME_SHARED_INCLUDEDIRS=-I$(HLDLL_SRC_DIR) -I$(ENGINE_SRC_DIR) -I$(COMMON_SRC_DIR) -I$(PM_SRC_DIR) -I$(PUBLIC_SRC_DIR) -I$(COMMON_SRC_DIR)
|
|
MOD_INCLUDEDIRS=-I$(UTIL_SRC_DIR) -I$(GAME_SHARED_SRC_DIR) -I$(HLDLL_SRC_DIR) -I$(PUBLIC_SRC_DIR) -I$(COMMON_SRC_DIR) -I$(ENGINE_SRC_DIR) -I$(DETOUR_SRC_DIR) -I$(DETOUR_SRC_DIR)/Include -I../particles -I../cdll/
|
|
UTIL_INCLUDEDIRS = -I../ -I../util
|
|
TEXTREP_INCLUDEDIRS=..
|
|
DETOUR_INCLUDEDIRS=-I$(DETOUR_SRC_DIR) -I$(DETOUR_SRC_DIR)/Include
|
|
|
|
ifeq ($(OS),Darwin)
|
|
LDFLAGS=-lm -lstdc++ -L. libparticleMP.a
|
|
#-lcurl
|
|
else
|
|
LDFLAGS=-lm -lstdc++ -L. libparticleMP.a
|
|
#-lcurl
|
|
endif
|
|
|
|
DO_HLDLL_CC=$(CC) $(HLDLL_INCLUDEDIRS) $(CFLAGS) -o $@ -c $<
|
|
DO_PM_CC=$(CC) $(PM_INCLUDEDIRS) $(CFLAGS) -o $@ -c $<
|
|
DO_GAME_SHARED_CC=$(CC) $(GAME_SHARED_INCLUDEDIRS) $(CFLAGS) -o $@ -c $<
|
|
DO_MOD_CC=$(CC) $(MOD_INCLUDEDIRS) $(CFLAGS) -o $@ -c $<
|
|
DO_UTIL_CC=$(CC) $(UTIL_INCLUDEDIRS) $(CFLAGS) -o $@ -c $<
|
|
DO_TEXTREP_CC=$(CC) $(TEXTREP_INCLUDEDIRS) $(CFLAGS) -o $@ -c $<
|
|
DO_DETOUR_CC=$(CC) $(DETOUR_INCLUDEDIRS) $(DETOUR_CFLAGS) -o $@ -c $<
|
|
|
|
#####################################################################
|
|
|
|
HLDLL_OBJS = \
|
|
$(HLDLL_OBJ_DIR)/animating.o \
|
|
$(HLDLL_OBJ_DIR)/animation.o \
|
|
$(HLDLL_OBJ_DIR)/bmodels.o \
|
|
$(HLDLL_OBJ_DIR)/buttons.o \
|
|
$(HLDLL_OBJ_DIR)/cbase.o \
|
|
$(HLDLL_OBJ_DIR)/client.o \
|
|
$(HLDLL_OBJ_DIR)/combat.o \
|
|
$(HLDLL_OBJ_DIR)/doors.o \
|
|
$(HLDLL_OBJ_DIR)/effects.o \
|
|
$(HLDLL_OBJ_DIR)/egon.o \
|
|
$(HLDLL_OBJ_DIR)/explode.o \
|
|
$(HLDLL_OBJ_DIR)/func_break.o \
|
|
$(HLDLL_OBJ_DIR)/func_tank.o \
|
|
$(HLDLL_OBJ_DIR)/game.o \
|
|
$(HLDLL_OBJ_DIR)/gamerules.o \
|
|
$(HLDLL_OBJ_DIR)/gauss.o \
|
|
$(HLDLL_OBJ_DIR)/globals.o \
|
|
$(HLDLL_OBJ_DIR)/ggrenade.o \
|
|
$(HLDLL_OBJ_DIR)/h_ai.o \
|
|
$(HLDLL_OBJ_DIR)/h_battery.o \
|
|
$(HLDLL_OBJ_DIR)/h_cycler.o \
|
|
$(HLDLL_OBJ_DIR)/h_export.o \
|
|
$(HLDLL_OBJ_DIR)/items.o \
|
|
$(HLDLL_OBJ_DIR)/lights.o \
|
|
$(HLDLL_OBJ_DIR)/maprules.o \
|
|
$(HLDLL_OBJ_DIR)/mpstubb.o \
|
|
$(HLDLL_OBJ_DIR)/multiplay_gamerules.o \
|
|
$(HLDLL_OBJ_DIR)/observer.o \
|
|
$(HLDLL_OBJ_DIR)/pathcorner.o \
|
|
$(HLDLL_OBJ_DIR)/plane.o \
|
|
$(HLDLL_OBJ_DIR)/plats.o \
|
|
$(HLDLL_OBJ_DIR)/rpg.o \
|
|
$(HLDLL_OBJ_DIR)/player.o \
|
|
$(HLDLL_OBJ_DIR)/satchel.o \
|
|
$(HLDLL_OBJ_DIR)/shotgun.o \
|
|
$(HLDLL_OBJ_DIR)/singleplay_gamerules.o \
|
|
$(HLDLL_OBJ_DIR)/skill.o \
|
|
$(HLDLL_OBJ_DIR)/sound.o \
|
|
$(HLDLL_OBJ_DIR)/soundent.o \
|
|
$(HLDLL_OBJ_DIR)/spectator.o \
|
|
$(HLDLL_OBJ_DIR)/squeakgrenade.o \
|
|
$(HLDLL_OBJ_DIR)/subs.o \
|
|
$(HLDLL_OBJ_DIR)/teamplay_gamerules.o \
|
|
$(HLDLL_OBJ_DIR)/triggers.o \
|
|
$(HLDLL_OBJ_DIR)/turret.o \
|
|
$(HLDLL_OBJ_DIR)/util.o \
|
|
$(HLDLL_OBJ_DIR)/weapons.o \
|
|
$(HLDLL_OBJ_DIR)/world.o \
|
|
$(HLDLL_OBJ_DIR)/xen.o \
|
|
|
|
MOD_OBJS = \
|
|
$(NS_MOD_OBJ_DIR)/AnimationUtil.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHAcidRocketGun.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHAICommander.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHAIConfig.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHAIHelper.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHAIMath.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHAINavigation.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHAIPlayer.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHAIPlayerManager.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHAIPlayerUtil.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHAITactical.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHAITask.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHAIWeaponHelper.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHAlienAbilities.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHAlienEquipment.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHAlienTurret.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHAlienWeapon.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHAssert.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHBaseBuildable.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHBaseInfoLocation.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHBasePlayerWeapon.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHBileBombGun.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHBite.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHBite2.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHBlink.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHBuildable.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHBuildingGun.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHCurl.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHClaws.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHCloakable.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHConsoleCommands.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHConstants.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHCombat.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHDevour.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHDivineWind.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHEntities.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHEntityHierarchy.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHGamerules.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHGrenade.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHGrenadeGun.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHHealingSpray.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHHeavyMachineGun.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHHive.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHItemInfo.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHKnife.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHMachineGun.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHMapExtents.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHMarineEquipment.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHMarineTurret.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHMarineWeapon.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHMetabolize.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHMine.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHMiniMap.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHMovementUtil.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHNetworkMessages.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHOrder.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHParasiteGun.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHParticleSystem.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHParticleSystemEntity.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHParticleSystemManager.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHParticleTemplate.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHParticleTemplateServer.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHPistol.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHPlayer.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHPlayerUpgrade.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHPrimalScream.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHPushableBuildable.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHReinforceable.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHResearchManager.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHScriptManager.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHScriptServer.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHScriptShared.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHSelectionHelper.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHServerPlayerData.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHServerUtil.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHSharedMovementInfo.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHSharedUtil.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHSiegeTurret.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHSonicGun.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHSoundListManager.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHSpecials.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHSpikeGun.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHSpitGun.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHSpores.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHStomp.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHSwipe.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHTeam.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHTechNode.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHTurret.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHTechTree.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHUmbraGun.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHVisibleBlipList.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHVoiceHelper.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHWebSpinner.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHWeldable.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHWelder.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHWorldUpdate.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHTechSlotManager.o \
|
|
$(NS_MOD_OBJ_DIR)/AvHSpawn.o \
|
|
$(NS_MOD_OBJ_DIR)/CollisionUtil.o \
|
|
$(NS_MOD_OBJ_DIR)/CollisionChecker.o \
|
|
$(NS_MOD_OBJ_DIR)/CollisionChecker_ServerOnly.o \
|
|
$(NS_MOD_OBJ_DIR)/NetworkMeter.o \
|
|
|
|
PM_OBJS = \
|
|
$(PM_OBJ_DIR)/pm_shared.o \
|
|
$(PM_OBJ_DIR)/pm_math.o \
|
|
$(PM_OBJ_DIR)/pm_debug.o
|
|
|
|
GAME_SHARED_OBJS = \
|
|
$(GAME_SHARED_OBJ_DIR)/voice_banmgr.o \
|
|
$(GAME_SHARED_OBJ_DIR)/voice_gamemgr.o \
|
|
|
|
UTIL_OBJS = \
|
|
$(UTIL_OBJ_DIR)/Balance.o \
|
|
$(UTIL_OBJ_DIR)/Checksum.o \
|
|
$(UTIL_OBJ_DIR)/LinuxSupport.o \
|
|
$(UTIL_OBJ_DIR)/Mat3.o \
|
|
$(UTIL_OBJ_DIR)/MathUtil.o \
|
|
$(UTIL_OBJ_DIR)/Quat.o \
|
|
$(UTIL_OBJ_DIR)/Stacktrace.o \
|
|
$(UTIL_OBJ_DIR)/STLUtil.o \
|
|
$(UTIL_OBJ_DIR)/Tokenizer.o \
|
|
|
|
TEXTREP_OBJS = \
|
|
$(TEXTREP_OBJ_DIR)/TRDescription.o \
|
|
$(TEXTREP_OBJ_DIR)/TRFactory.o \
|
|
|
|
DETOUR_OBJS = \
|
|
$(DETOUR_OBJ_DIR)/DetourAlloc.o \
|
|
$(DETOUR_OBJ_DIR)/DetourAssert.o \
|
|
$(DETOUR_OBJ_DIR)/DetourCommon.o \
|
|
$(DETOUR_OBJ_DIR)/DetourNavMesh.o \
|
|
$(DETOUR_OBJ_DIR)/DetourNavMeshBuilder.o \
|
|
$(DETOUR_OBJ_DIR)/DetourNavMeshQuery.o \
|
|
$(DETOUR_OBJ_DIR)/DetourNode.o \
|
|
$(DETOUR_OBJ_DIR)/DetourTileCache.o \
|
|
$(DETOUR_OBJ_DIR)/DetourTileCacheBuilder.o \
|
|
|
|
all: dirs ns.$(SHLIBEXT)
|
|
|
|
dirs:
|
|
-mkdir $(BUILD_OBJ_DIR)
|
|
-mkdir $(HLDLL_OBJ_DIR)
|
|
-mkdir $(NS_MOD_OBJ_DIR)
|
|
-mkdir $(HLWPN_OBJ_DIR)
|
|
-mkdir $(PM_OBJ_DIR)
|
|
-mkdir $(UTIL_OBJ_DIR)
|
|
-mkdir $(TEXTREP_OBJ_DIR)
|
|
-mkdir $(GAME_SHARED_OBJ_DIR)
|
|
-mkdir $(DETOUR_OBJ_DIR)
|
|
|
|
ns.$(SHLIBEXT): $(HLDLL_OBJS) $(MOD_OBJS) $(PM_OBJS) $(GAME_SHARED_OBJS) $(UTIL_OBJS) $(TEXTREP_OBJS) $(DETOUR_OBJS)
|
|
$(CC) $(SHLIBLDFLAGS) -o $(BUILD_DIR)/$@ $(HLDLL_OBJS) $(MOD_OBJS) $(PM_OBJS) $(GAME_SHARED_OBJS) $(UTIL_OBJS) $(TEXTREP_OBJS) $(DETOUR_OBJS) $(LDFLAGS)
|
|
@echo "Done..."
|
|
|
|
$(NS_MOD_OBJ_DIR)/%.o: $(NS_MOD_SRC_DIR)/%.cpp
|
|
$(DO_MOD_CC)
|
|
|
|
$(HLDLL_OBJ_DIR)/%.o : $(HLDLL_SRC_DIR)/%.cpp
|
|
$(DO_HLDLL_CC)
|
|
|
|
$(PM_OBJ_DIR)/%.o : $(PM_SRC_DIR)/%.cpp
|
|
$(DO_PM_CC)
|
|
|
|
$(GAME_SHARED_OBJ_DIR)/%.o : $(GAME_SHARED_SRC_DIR)/%.cpp
|
|
$(DO_GAME_SHARED_CC)
|
|
|
|
$(UTIL_OBJ_DIR)/%.o : $(UTIL_SRC_DIR)/%.cpp
|
|
$(DO_UTIL_CC)
|
|
|
|
$(TEXTREP_OBJ_DIR)/%.o : $(TEXTREP_SRC_DIR)/%.cpp
|
|
$(DO_TEXTREP_CC)
|
|
|
|
$(DETOUR_OBJ_DIR)/%.o : $(DETOUR_SRC_DIR)/%.cpp
|
|
$(DO_DETOUR_CC)
|
|
|
|
clean:
|
|
-rm -rf $(GAME_SHARED_OBJ_DIR)
|
|
-rm -rf $(PM_OBJ_DIR)
|
|
-rm -rf $(HLWPN_OBJ_DIR)
|
|
-rm -rf $(HLDLL_OBJ_DIR)
|
|
-rm -f ns.$(SHLIBEXT)
|
|
|