From f08ce7f62f6b8f659dcd2517eaff7da8cf55fb54 Mon Sep 17 00:00:00 2001 From: Scott Ehlert Date: Wed, 9 Apr 2008 09:10:28 +0000 Subject: [PATCH] Oh god, Spring Cleaning Part San (3) - Finaare - Removed batsupport extension - Made EVERY makefile consistent with the changes originally made to the sample extensions's makefile - Sample MM:S extension now uses unified makefile - Various innumerable changes to VS project files --HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%402012 --- core/Makefile | 130 +-- core/msvc8/sourcemod_mm.sln | 6 - core/msvc8/sourcemod_mm.vcproj | 748 +++++++++--------- extensions/batsupport/BATInterface.h | 62 -- extensions/batsupport/Makefile | 87 -- extensions/batsupport/extension.cpp | 270 ------- extensions/batsupport/extension.h | 85 -- extensions/batsupport/msvc8/batsupport.sln | 20 - extensions/batsupport/msvc8/batsupport.vcproj | 229 ------ extensions/batsupport/sdk/smsdk_config.h | 61 -- extensions/batsupport/sdk/smsdk_ext.cpp | 347 -------- extensions/batsupport/sdk/smsdk_ext.h | 226 ------ extensions/bintools/Makefile | 110 ++- extensions/cstrike/Makefile | 78 +- extensions/cstrike/msvc8/cstrike.vcproj | 4 +- extensions/geoip/Makefile | 112 ++- extensions/mysql/Makefile | 114 ++- extensions/regex/Makefile | 107 ++- extensions/sdktools/Makefile | 70 +- extensions/sdktools/msvc8/sdktools.vcproj | 12 +- extensions/sqlite/Makefile | 116 ++- extensions/tf2/Makefile | 76 +- extensions/tf2/msvc8/tf2.sln | 12 - extensions/tf2/msvc8/tf2.vcproj | 498 +----------- extensions/topmenus/Makefile | 106 ++- loader/Makefile | 51 +- loader/msvc8/loader.vcproj | 10 +- public/mms_sample_ext/Makefile | 108 +++ public/mms_sample_ext/Makefile.ep2 | 73 -- public/mms_sample_ext/Makefile.orig | 73 -- public/sample_ext/Makefile | 20 +- public/sample_ext/msvc8/sdk.vcproj | 12 +- sourcepawn/compiler/Makefile | 142 ++-- sourcepawn/jit/x86/Makefile | 142 ++-- 34 files changed, 1326 insertions(+), 2991 deletions(-) delete mode 100644 extensions/batsupport/BATInterface.h delete mode 100644 extensions/batsupport/Makefile delete mode 100644 extensions/batsupport/extension.cpp delete mode 100644 extensions/batsupport/extension.h delete mode 100644 extensions/batsupport/msvc8/batsupport.sln delete mode 100644 extensions/batsupport/msvc8/batsupport.vcproj delete mode 100644 extensions/batsupport/sdk/smsdk_config.h delete mode 100644 extensions/batsupport/sdk/smsdk_ext.cpp delete mode 100644 extensions/batsupport/sdk/smsdk_ext.h create mode 100644 public/mms_sample_ext/Makefile delete mode 100644 public/mms_sample_ext/Makefile.ep2 delete mode 100644 public/mms_sample_ext/Makefile.orig diff --git a/core/Makefile b/core/Makefile index c7ac052c..3fcae6a3 100644 --- a/core/Makefile +++ b/core/Makefile @@ -1,21 +1,16 @@ -#(C)2004-2008 Metamod:Source Development Team +# (C)2004-2008 SourceMod Development Team # Makefile written by David "BAILOPAN" Anderson -#Local paths +SMSDK = .. +SRCDS_BASE = ~/srcds HL2SDK_ORIG = ../../hl2sdk HL2SDK_OB = ../../hl2sdk-ob SOURCEMM14 = ../../sourcemm-1.4 SOURCEMM16 = ../../sourcemm-1.6 -SRCDS_BASE = ~/srcds -SMSDK = .. - -#Project options -OPT_FLAGS = -O3 -funroll-loops -s -pipe -fno-strict-aliasing -GCC4_FLAGS = -fvisibility=hidden -GCC4_CPP_FLAGS = -fvisibility-inlines-hidden -DEBUG_FLAGS = -g -ggdb3 -CPP = gcc-4.1 +##################################### +### EDIT BELOW FOR OTHER PROJECTS ### +##################################### OBJECTS = AdminCache.cpp CDataPack.cpp ConCmdManager.cpp ConVarManager.cpp CoreConfig.cpp \ Database.cpp DebugReporter.cpp EventManager.cpp GameConfigs.cpp HalfLife2.cpp Logger.cpp \ @@ -33,101 +28,120 @@ OBJECTS += smn_admin.cpp smn_bitbuffer.cpp smn_console.cpp smn_core.cpp \ smn_adt_trie.cpp smn_hudtext.cpp OBJECTS += systems/ExtensionSys.cpp systems/ForwardSys.cpp systems/HandleSys.cpp \ systems/LibrarySys.cpp systems/PluginInfoDatabase.cpp systems/PluginSys.cpp \ - systems/ShareSys.cpp vm/sp_vm_basecontext.cpp vm/sp_vm_function.cpp + systems/ShareSys.cpp vm/sp_vm_basecontext.cpp vm/sp_vm_engine.cpp \ + vm/sp_vm_function.cpp OBJECTS += thread/ThreadWorker.cpp thread/BaseWorker.cpp thread/PosixThreads.cpp ThreadSupport.cpp -OBJECTS_C = zlib/adler32.c zlib/compress.c zlib/crc32.c zlib/deflate.c zlib/gzio.c \ +OBJECTS += zlib/adler32.c zlib/compress.c zlib/crc32.c zlib/deflate.c zlib/gzio.c \ zlib/infback.c zlib/inffast.c zlib/inflate.c zlib/inftrees.c zlib/trees.c \ zlib/uncompr.c zlib/zutil.c -OBJECTS_SM16 = vm/sp_vm_engine.cpp +############################################## +### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ### +############################################## + +C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -s -pipe -fno-strict-aliasing +C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3 +C_GCC4_FLAGS = -fvisibility=hidden +CPP_GCC4_FLAGS = -fvisibility-inlines-hidden +CPP = gcc-4.1 + +override ENGSET = false ifeq "$(ENGINE)" "original" HL2SDK = $(HL2SDK_ORIG) HL2PUB = $(HL2SDK_ORIG)/public - HL2LIB = $(HL2SDK)/linux_sdk + HL2LIB = $(HL2SDK_ORIG)/linux_sdk METAMOD = $(SOURCEMM14) - INCLUDE += -I$(HL2PUB)/dlls + INCLUDE += -I$(HL2SDK)/public/dlls SRCDS = $(SRCDS_BASE) BINARY = sourcemod.1.ep1.so + override ENGSET = true endif ifeq "$(ENGINE)" "orangebox" HL2SDK = $(HL2SDK_OB) HL2PUB = $(HL2SDK_OB)/public - HL2LIB = $(HL2SDK)/linux_sdk + HL2LIB = $(HL2SDK_OB)/linux_sdk CFLAGS += -DORANGEBOX_BUILD METAMOD = $(SOURCEMM16) - INCLUDE += -I$(HL2PUB)/game/server + INCLUDE += -I$(HL2SDK)/public/game/server SRCDS = $(SRCDS_BASE)/orangebox BINARY = sourcemod.2.ep2.so -endif -ifeq "$(BINARY)" "" - echo "You must supply ENGINE=orangebox or ENGINE=original" - false + override ENGSET = true endif LINK += $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_i486.so \ tier0_i486.so -lpthread -static-libgcc -INCLUDE_SMSDK = -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(SMSDK)/public/extensions +INCLUDE_SMSDK = -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -INCLUDE += -I. -I.. -I$(HL2PUB) -I$(HL2PUB)/dlls -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \ - -I$(HL2PUB)/vstdlib -I$(HL2SDK)/tier1 -I$(METAMOD) -I$(METAMOD)/sourcehook -I$(METAMOD)/sourcemm \ - -I$(HL2PUB)/mathlib -Isystems $(INCLUDE_SMSDK) +INCLUDE_SM16 = -I. -I.. -I$(SOURCEMM16)/sourcehook $(INCLUDE_SMSDK) + +INCLUDE += -I. -I.. -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/mathlib -I$(HL2PUB)/vstdlib \ + -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 -I$(METAMOD) -I$(METAMOD)/sourcehook \ + -I$(METAMOD)/sourcemm -Isystems $(INCLUDE_SMSDK) -SM16_INCLUDE = -I. -I.. -I$(SOURCEMM16)/sourcehook $(INCLUDE_SMSDK) +CFLAGS += -D_LINUX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \ + -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror \ + -Wno-uninitialized -mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -DSM_DEFAULT_THREADER -m32 +CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti + +################################################ +### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ### +################################################ ifeq "$(DEBUG)" "true" BIN_DIR = Debug.$(ENGINE) - CFLAGS += $(DEBUG_FLAGS) + CFLAGS += $(C_DEBUG_FLAGS) else BIN_DIR = Release.$(ENGINE) - CFLAGS += $(OPT_FLAGS) + CFLAGS += $(C_OPT_FLAGS) endif GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1) - -CFLAGS += -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp \ - -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca \ - -Dstrcmpi=strcasecmp -Wall -Wno-uninitialized -Werror -mfpmath=sse -msse \ - -DSOURCEMOD_BUILD -DSM_DEFAULT_THREADER -m32 -CPPFLAGS = -Wno-non-virtual-dtor -fno-exceptions -fno-rtti - ifeq "$(GCC_VERSION)" "4" - CFLAGS += $(GCC4_FLAGS) - CPPFLAGS += $(GCC4_CPP_FLAGS) + CFLAGS += $(C_GCC4_FLAGS) + CPPFLAGS += $(CPP_GCC4_FLAGS) endif -OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.ox) -OBJ_LINUX_C := $(OBJECTS_C:%.c=$(BIN_DIR)/%.oc) -OBJ_LINUX_SM16 := $(OBJECTS_SM16:%.cpp=$(BIN_DIR)/%.ok) +OBJ_LINUX := $(OBJECTS:%vm_engine.cpp=$(BIN_DIR)/%vm_engine.o) +OBJ_LINUX := $(OBJ_LINUX:%.cpp=$(BIN_DIR)/%.o) +OBJ_LINUX := $(OBJ_LINUX:%.c=$(BIN_DIR)/%.o) -$(BIN_DIR)/%.ox: %.cpp +$(BIN_DIR)/%vm_engine.o: %vm_engine.cpp + $(CPP) $(INCLUDE_SM16) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< + +$(BIN_DIR)/%.o: %.cpp $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< -$(BIN_DIR)/%.oc: %.c +$(BIN_DIR)/%.o: %.c $(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $< -$(BIN_DIR)/%.ok: %.cpp - $(CPP) $(SM16_INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< - -all: +all: check mkdir -p $(BIN_DIR)/systems mkdir -p $(BIN_DIR)/vm mkdir -p $(BIN_DIR)/zlib mkdir -p $(BIN_DIR)/thread - ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so - ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so + ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so; + ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so; $(MAKE) -f Makefile sourcemod -sourcemod: $(OBJ_LINUX) $(OBJ_LINUX_C) $(OBJ_LINUX_SM16) - $(CPP) $(OBJ_LINUX) $(OBJ_LINUX_C) $(OBJ_LINUX_SM16) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) +check: + if [ "$(ENGSET)" == "false" ]; then \ + echo "You must supply ENGINE=orangebox or ENGINE=original"; \ + exit 1; \ + fi + +sourcemod: check $(OBJ_LINUX) + $(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) + +debug: + $(MAKE) -f Makefile all DEBUG=true default: all -clean: - rm -rf $(BIN_DIR)/*.ox - rm -rf $(BIN_DIR)/systems/*.ox - rm -rf $(BIN_DIR)/zlib/*.oc - rm -rf $(BIN_DIR)/vm/*.ox - rm -rf $(BIN_DIR)/thread/*.ox +clean: check + rm -rf $(BIN_DIR)/*.o + rm -rf $(BIN_DIR)/systems/*.o + rm -rf $(BIN_DIR)/zlib/*.o + rm -rf $(BIN_DIR)/vm/*.o + rm -rf $(BIN_DIR)/thread/*.o rm -rf $(BIN_DIR)/$(BINARY) - diff --git a/core/msvc8/sourcemod_mm.sln b/core/msvc8/sourcemod_mm.sln index 980aa0c5..780f496a 100644 --- a/core/msvc8/sourcemod_mm.sln +++ b/core/msvc8/sourcemod_mm.sln @@ -9,11 +9,9 @@ Global Debug - Episode 1|Win32 = Debug - Episode 1|Win32 Debug - Old Metamod|Win32 = Debug - Old Metamod|Win32 Debug - Orange Box|Win32 = Debug - Orange Box|Win32 - Debug|Win32 = Debug|Win32 Release - Episode 1|Win32 = Release - Episode 1|Win32 Release - Old Metamod|Win32 = Release - Old Metamod|Win32 Release - Orange Box|Win32 = Release - Orange Box|Win32 - Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {E39527CD-7CAB-4420-97CC-DA1B93B260BC}.CrazyDebug|Win32.ActiveCfg = CrazyDebug|Win32 @@ -24,16 +22,12 @@ Global {E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug - Old Metamod|Win32.Build.0 = Debug - Old Metamod|Win32 {E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug - Orange Box|Win32.ActiveCfg = Debug - Orange Box|Win32 {E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug - Orange Box|Win32.Build.0 = Debug - Orange Box|Win32 - {E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug|Win32.ActiveCfg = CrazyDebug|Win32 - {E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Debug|Win32.Build.0 = CrazyDebug|Win32 {E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Episode 1|Win32.ActiveCfg = Release - Episode 1|Win32 {E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Episode 1|Win32.Build.0 = Release - Episode 1|Win32 {E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Old Metamod|Win32.ActiveCfg = Release - Old Metamod|Win32 {E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Old Metamod|Win32.Build.0 = Release - Old Metamod|Win32 {E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Orange Box|Win32.ActiveCfg = Release - Orange Box|Win32 {E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release - Orange Box|Win32.Build.0 = Release - Orange Box|Win32 - {E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release|Win32.ActiveCfg = Debug - Old Metamod|Win32 - {E39527CD-7CAB-4420-97CC-DA1B93B260BC}.Release|Win32.Build.0 = Debug - Old Metamod|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/core/msvc8/sourcemod_mm.vcproj b/core/msvc8/sourcemod_mm.vcproj index 08bdf03d..42b3a6c8 100644 --- a/core/msvc8/sourcemod_mm.vcproj +++ b/core/msvc8/sourcemod_mm.vcproj @@ -16,7 +16,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -637,6 +637,24 @@ + + + + + + @@ -655,24 +673,6 @@ AssemblerOutput="0" /> - - - - - - - - - - - - - - - @@ -1205,6 +1181,14 @@ AdditionalIncludeDirectories=""$(SOURCEMM16)\sourcehook"" /> + + + - - - - - - diff --git a/extensions/batsupport/BATInterface.h b/extensions/batsupport/BATInterface.h deleted file mode 100644 index f89e1de5..00000000 --- a/extensions/batsupport/BATInterface.h +++ /dev/null @@ -1,62 +0,0 @@ -/* ======== Basic Admin tool ======== -* Copyright (C) 2004-2008 Erling K. Sæterdal -* No warranties of any kind -* -* License: zlib/libpng -* -* Author(s): Erling K. Sæterdal ( EKS ) -* Credits: -* Menu code based on code from CSDM ( http://www.tcwonline.org/~dvander/cssdm ) Created by BAILOPAN -* Helping on misc errors/functions: BAILOPAN,LDuke,sslice,devicenull,PMOnoTo,cybermind ( most who idle in #sourcemod on GameSurge realy ) -* ============================ */ - -#ifndef _INCLUDE_BATINTERFACE -#define _INCLUDE_BATINTERFACE -#include - -#define ADMININTERFACE_VERSION 0 -#define ADMININTERFACE_MAXACCESSLENGTHTEXT 50 // This is the maximum length of a "flag" access text. - -//#include "BATMenu.h" - -//extern menuId g_AdminMenu; -class AdminInterfaceListner -{ -public: - virtual void OnAdminInterfaceUnload()=0; - virtual void Client_Authorized(int id)=0; -}; - -class AdminInterface -{ -public: - virtual bool RegisterFlag(const char *Class,const char *Flag,const char *Description) = 0; // Registers a new admin access - virtual bool IsClient(int id) = 0; // returns false if client is bot, or NOT connected - virtual bool HasFlag(int id,const char *Flag) = 0; // returns true if the player has this access flag, lower case only - virtual int GetInterfaceVersion() = 0 ; // Returns the interface version of the admin mod - virtual const char* GetModName() = 0; // Returns the name of the current admin mod - virtual void AddEventListner(AdminInterfaceListner *ptr) = 0; // You should ALLWAYS set this, so you know when the "server" plugin gets unloaded - virtual void RemoveListner(AdminInterfaceListner *ptr) = 0; // You MUST CALL this function in your plugin unloads function, or the admin plugin will crash on next client connect. -}; - -class BATAdminInterface : public AdminInterface -{ -public: - bool RegisterFlag(const char *Class,const char *Flag,const char *Description); // Max 1 admin access at the time, returns true if done successfully - bool IsClient(int id); // returns false if client is bot, or NOT connected - bool HasFlag(int id,const char *Flag); // returns true if the player has this access flag - int GetInterfaceVersion() { return ADMININTERFACE_VERSION; } // Returns the interface version of the admin mod - const char* GetModName() { return "BAT"; } // Returns the name of the current admin mod - void AddEventListner(AdminInterfaceListner *ptr); // You should ALLWAYS set this, so you know when the "server" plugin gets unloaded - void RemoveListner(AdminInterfaceListner *ptr); -private: - char GetFlagFromInt(int CharIndex); - bool CustomAccessExistence(const char *Flag); -}; -class MyListener : public IMetamodListener -{ -public: - virtual void *OnMetamodQuery(const char *iface, int *ret); -}; -#endif - diff --git a/extensions/batsupport/Makefile b/extensions/batsupport/Makefile deleted file mode 100644 index bfebba58..00000000 --- a/extensions/batsupport/Makefile +++ /dev/null @@ -1,87 +0,0 @@ -#(C)2004-2008 Metamod:Source Development Team -# Makefile written by David "BAILOPAN" Anderson - -SMSDK = ../.. -SRCDS = ~/srcds -SOURCEMM = ../../../../sourcemm - -##################################### -### EDIT BELOW FOR OTHER PROJECTS ### -##################################### - -PROJECT = batsupport - -#Uncomment for SourceMM-enabled extensions -LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_i486.so tier0_i486.so - -OBJECTS = sdk/smsdk_ext.cpp extension.cpp - -############################################## -### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ### -############################################## - -C_OPT_FLAGS = -O3 -funroll-loops -s -pipe -fno-strict-aliasing -C_DEBUG_FLAGS = -g -ggdb3 -CPP_GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden -CPP = gcc-4.1 - -HL2PUB = $(HL2SDK)/public -HL2LIB = $(HL2SDK)/linux_sdk -HL2SDK = $(SOURCEMM)/hl2sdk -SMM_TRUNK = $(SOURCEMM)/trunk - -LINK = $(LINK_HL2) -static-libgcc - -INCLUDE = -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/dlls -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \ - -I$(HL2PUB)/vstdlib -I$(HL2SDK)/tier1 -I$(SMM_TRUNK) -I$(SMM_TRUNK)/sourcehook -I$(SMM_TRUNK)/sourcemm \ - -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(SMSDK)/public/extensions \ - -CFLAGS = -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror -fPIC -msse -DSOURCEMOD_BUILD -CPPFLAGS = -Wno-non-virtual-dtor -fno-exceptions -fno-rtti - -################################################ -### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ### -################################################ - -ifeq "$(DEBUG)" "true" - BIN_DIR = Debug - CFLAGS += $(C_DEBUG_FLAGS) -else - BIN_DIR = Release - CFLAGS += $(C_OPT_FLAGS) -endif - - -GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1) -ifeq "$(GCC_VERSION)" "4" - CPPFLAGS += $(CPP_GCC4_FLAGS) -endif - -BINARY = $(PROJECT).ext.so - -OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o) - -$(BIN_DIR)/%.o: %.cpp - $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< - -all: - mkdir -p $(BIN_DIR)/sdk - ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so - ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so - $(MAKE) extension - -extension: $(OBJ_LINUX) - $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) $(OBJ_LINUX) $(LINK) -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) - -debug: - $(MAKE) all DEBUG=true - -default: all - -clean: - rm -rf Release/*.o - rm -rf Release/sdk/*.o - rm -rf Release/$(BINARY) - rm -rf Debug/*.o - rm -rf Debug/sdk/*.o - rm -rf Debug/$(BINARY) diff --git a/extensions/batsupport/extension.cpp b/extensions/batsupport/extension.cpp deleted file mode 100644 index 10a3f8f4..00000000 --- a/extensions/batsupport/extension.cpp +++ /dev/null @@ -1,270 +0,0 @@ -/** - * vim: set ts=4 : - * ============================================================================= - * SourceMod BAT Support Extension - * Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved. - * ============================================================================= - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, version 3.0, as published by the - * Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - * - * As a special exception, AlliedModders LLC gives you permission to link the - * code of this program (as well as its derivative works) to "Half-Life 2," the - * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software - * by the Valve Corporation. You must obey the GNU General Public License in - * all respects for all other code used. Additionally, AlliedModders LLC grants - * this exception to all derivative works. AlliedModders LLC defines further - * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007), - * or . - * - * Version: $Id$ - */ - -#include -#include -#include "extension.h" - -/** - * @file extension.cpp - * @brief Implements BAT Support extension code. - */ - -BatSupport g_BatSupport; /**< Global singleton for your extension's main interface */ -IAdminSystem *admins = NULL; -IPlayerManager *players = NULL; -SMEXT_LINK(&g_BatSupport); - -bool BatSupport::SDK_OnLoad(char *error, size_t maxlength, bool late) -{ - SM_GET_IFACE(ADMINSYS, admins); - SM_GET_IFACE(PLAYERMANAGER, players); - - players->AddClientListener(this); - - return true; -} - -void BatSupport::SDK_OnUnload() -{ - players->RemoveClientListener(this); - - List::iterator iter; - AdminInterfaceListner *hook; - - for (iter=m_hooks.begin(); iter!=m_hooks.end(); iter++) - { - hook = (*iter); - hook->OnAdminInterfaceUnload(); - } - - /* In case plugins don't do this */ - m_hooks.clear(); -} - -bool BatSupport::SDK_OnMetamodLoad(char *error, size_t maxlength, bool late) -{ - g_SMAPI->AddListener(this, this); - - return true; -} - -void BatSupport::OnClientAuthorized(int client, const char *authstring) -{ - List::iterator iter; - AdminInterfaceListner *hook; - - for (iter=m_hooks.begin(); iter!=m_hooks.end(); iter++) - { - hook = (*iter); - hook->Client_Authorized(client); - } -} - -const char *BatSupport::GetModName() -{ - return "SourceMod"; -} - -int BatSupport::GetInterfaceVersion() -{ - return ADMININTERFACE_VERSION; -} - -void *BatSupport::OnMetamodQuery(const char *iface, int *ret) -{ - if (strcmp(iface, "AdminInterface") == 0) - { - AdminInterface *pThis = this; - if (ret) - { - *ret = IFACE_OK; - } - return pThis; - } - - if (ret) - { - *ret = IFACE_FAILED; - } - - return NULL; -} - -bool BatSupport::RegisterFlag(const char *Class,const char *Flag,const char *Description) -{ - /* No empty flags */ - if (Flag[0] == '\0') - { - g_pSM->LogError(myself, "BAT AdminInterface support tried to register a blank flag"); - return false; - } - - /* We only support up to 6 custom flags for SourceMod */ - if (m_flags.size() >= 6) - { - g_pSM->LogError(myself, "BAT AdminInterface support reached maximum number of custom flags"); - return false; - } - - List::iterator iter; - for (iter=m_flags.begin(); iter!=m_flags.end(); iter++) - { - CustomFlag &cf = (*iter); - /* Ignore already registered, in case plugin is reloading */ - if (cf.name.compare(Flag) == 0) - { - return true; - } - } - - g_pSM->LogMessage(myself, - "BAT AdminInterface support registered Admin_Custom%d (class \"%s\") (flag \"%s\") (descr \"%s\")", - m_flags.size() + 1, - Class, - Flag, - Description); - - unsigned int f = (unsigned int)Admin_Custom1; - f += m_flags.size(); - - CustomFlag cf; - cf.bit = (1<GetGamePlayer(id); - - if (!pPlayer) - { - return false; - } - - if (!pPlayer->IsConnected()) - { - return false; - } - - if (pPlayer->IsFakeClient()) - { - return false; - } - - return true; -} - -void BatSupport::AddEventListner(AdminInterfaceListner *ptr) -{ - m_hooks.push_back(ptr); -} - -void BatSupport::RemoveListner(AdminInterfaceListner *ptr) -{ - m_hooks.remove(ptr); -} - -bool BatSupport::HasFlag(int id,const char *Flag) -{ - IGamePlayer *pPlayer = players->GetGamePlayer(id); - - if (!pPlayer || !pPlayer->IsConnected()) - { - return false; - } - - AdminId admin = pPlayer->GetAdminId(); - if (admin == INVALID_ADMIN_ID) - { - return false; - } - - FlagBits bits = admins->GetAdminFlags(admin, Access_Effective); - - /* Root has it all... except for immunity */ - if ((strcmp(Flag, "immunity") != 0) - && ((bits & ADMFLAG_ROOT) == ADMFLAG_ROOT)) - { - return true; - } - - if (!strcmp(Flag, "any")) - { - return ((bits & ~ADMFLAG_RESERVATION) != 0); - } else if (!strcmp(Flag, "kick")) { - return ((bits & ADMFLAG_KICK) == ADMFLAG_KICK); - } else if (!strcmp(Flag, "slap")) { - return ((bits & ADMFLAG_SLAY) == ADMFLAG_SLAY); - } else if (!strcmp(Flag, "slay")) { - return ((bits & ADMFLAG_SLAY) == ADMFLAG_SLAY); - } else if (!strcmp(Flag, "ban")) { - return ((bits & ADMFLAG_BAN) == ADMFLAG_BAN); - } else if (!strcmp(Flag, "chat")) { - return ((bits & ADMFLAG_CHAT) == ADMFLAG_CHAT); - } else if (!strcmp(Flag, "rcon")) { - return ((bits & ADMFLAG_RCON) == ADMFLAG_RCON); - } else if (!strcmp(Flag, "map")) { - return ((bits & ADMFLAG_CHANGEMAP) == ADMFLAG_CHANGEMAP); - } else if (!strcmp(Flag, "reservedslots")) { - return ((bits & ADMFLAG_RESERVATION) == ADMFLAG_RESERVATION); - } else if (!strcmp(Flag, "immunuty")) { - /* This is a bit different... */ - unsigned int count = admins->GetAdminGroupCount(admin); - for (unsigned int i=0; iGetAdminGroup(admin, i, NULL); - if (admins->GetGroupGenericImmunity(gid, Immunity_Default) - || admins->GetGroupGenericImmunity(gid, Immunity_Global)) - { - return true; - } - } - return false; - } - - List::iterator iter; - for (iter=m_flags.begin(); iter!=m_flags.end(); iter++) - { - CustomFlag &cf = (*iter); - if (cf.name.compare(Flag) == 0) - { - return ((bits & cf.bit) == cf.bit); - } - } - - return false; -} diff --git a/extensions/batsupport/extension.h b/extensions/batsupport/extension.h deleted file mode 100644 index 4e4015e2..00000000 --- a/extensions/batsupport/extension.h +++ /dev/null @@ -1,85 +0,0 @@ -/** - * vim: set ts=4 : - * ============================================================================= - * SourceMod BAT Support Extension - * Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved. - * ============================================================================= - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, version 3.0, as published by the - * Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - * - * As a special exception, AlliedModders LLC gives you permission to link the - * code of this program (as well as its derivative works) to "Half-Life 2," the - * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software - * by the Valve Corporation. You must obey the GNU General Public License in - * all respects for all other code used. Additionally, AlliedModders LLC grants - * this exception to all derivative works. AlliedModders LLC defines further - * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007), - * or . - * - * Version: $Id$ - */ - -#ifndef _INCLUDE_SOURCEMOD_EXTENSION_PROPER_H_ -#define _INCLUDE_SOURCEMOD_EXTENSION_PROPER_H_ - -/** - * @file extension.h - * @brief BAT Support extension code header. - */ - -#include "smsdk_ext.h" -#include "BATInterface.h" -#include -#include - -using namespace SourceHook; - -struct CustomFlag -{ - String name; - AdminFlag flag; - FlagBits bit; -}; - -/** - * @brief Implementation of the BAT Support extension. - * Note: Uncomment one of the pre-defined virtual functions in order to use it. - */ -class BatSupport : - public SDKExtension, - public IMetamodListener, - public AdminInterface, - public IClientListener -{ -public: // SDKExtension - bool SDK_OnLoad(char *error, size_t maxlength, bool late); - void SDK_OnUnload(); - bool SDK_OnMetamodLoad(char *error, size_t maxlength, bool late); -public: // IMetamodListener - void *OnMetamodQuery(const char *iface, int *ret); -public: // AdminInterface - bool RegisterFlag(const char *Class, const char *Flag, const char *Description); - bool IsClient(int id); - bool HasFlag(int id, const char *Flag); - int GetInterfaceVersion(); - const char* GetModName(); - void AddEventListner(AdminInterfaceListner *ptr); - void RemoveListner(AdminInterfaceListner *ptr); -public: // IClientListener - void OnClientAuthorized(int client, const char *authstring); -private: - List m_hooks; - List m_flags; -}; - -#endif // _INCLUDE_SOURCEMOD_EXTENSION_PROPER_H_ diff --git a/extensions/batsupport/msvc8/batsupport.sln b/extensions/batsupport/msvc8/batsupport.sln deleted file mode 100644 index cabbd260..00000000 --- a/extensions/batsupport/msvc8/batsupport.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BatSupport", "BatSupport.vcproj", "{E2FDA25A-3F36-46CE-A4EB-F4AB60011386}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {E2FDA25A-3F36-46CE-A4EB-F4AB60011386}.Debug|Win32.ActiveCfg = Debug|Win32 - {E2FDA25A-3F36-46CE-A4EB-F4AB60011386}.Debug|Win32.Build.0 = Debug|Win32 - {E2FDA25A-3F36-46CE-A4EB-F4AB60011386}.Release|Win32.ActiveCfg = Release|Win32 - {E2FDA25A-3F36-46CE-A4EB-F4AB60011386}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/extensions/batsupport/msvc8/batsupport.vcproj b/extensions/batsupport/msvc8/batsupport.vcproj deleted file mode 100644 index 1a8d15a5..00000000 --- a/extensions/batsupport/msvc8/batsupport.vcproj +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extensions/batsupport/sdk/smsdk_config.h b/extensions/batsupport/sdk/smsdk_config.h deleted file mode 100644 index d34dc0db..00000000 --- a/extensions/batsupport/sdk/smsdk_config.h +++ /dev/null @@ -1,61 +0,0 @@ -/** - * vim: set ts=4 : - * ============================================================================= - * SourceMod BAT Support Extension - * Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved. - * ============================================================================= - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, version 3.0, as published by the - * Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - * - * As a special exception, AlliedModders LLC gives you permission to link the - * code of this program (as well as its derivative works) to "Half-Life 2," the - * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software - * by the Valve Corporation. You must obey the GNU General Public License in - * all respects for all other code used. Additionally, AlliedModders LLC grants - * this exception to all derivative works. AlliedModders LLC defines further - * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007), - * or . - * - * Version: $Id$ - */ - -#ifndef _INCLUDE_SOURCEMOD_EXTENSION_CONFIG_H_ -#define _INCLUDE_SOURCEMOD_EXTENSION_CONFIG_H_ - -/** - * @file smsdk_config.h - * @brief Contains macros for configuring basic extension information. - */ - -/* Basic information exposed publicly */ -#define SMEXT_CONF_NAME "BAT Support" -#define SMEXT_CONF_DESCRIPTION "Adds support for BAT's AdminInterface" -#define SMEXT_CONF_VERSION "1.0.0.0" -#define SMEXT_CONF_AUTHOR "AlliedModders LLC" -#define SMEXT_CONF_URL "http://www.sourcemod.net/" -#define SMEXT_CONF_LOGTAG "BATSUPPORT" -#define SMEXT_CONF_LICENSE "GPL" -#define SMEXT_CONF_DATESTRING __DATE__ - -/** - * @brief Exposes plugin's main interface. - */ -#define SMEXT_LINK(name) SDKExtension *g_pExtensionIface = name; - -/** - * @brief Sets whether or not this plugin required Metamod. - * NOTE: Uncomment to enable, comment to disable. - */ -#define SMEXT_CONF_METAMOD - -#endif // _INCLUDE_SOURCEMOD_EXTENSION_CONFIG_H_ diff --git a/extensions/batsupport/sdk/smsdk_ext.cpp b/extensions/batsupport/sdk/smsdk_ext.cpp deleted file mode 100644 index 6e4c84e6..00000000 --- a/extensions/batsupport/sdk/smsdk_ext.cpp +++ /dev/null @@ -1,347 +0,0 @@ -/** - * vim: set ts=4 : - * ============================================================================= - * SourceMod Base Extension Code - * Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved. - * ============================================================================= - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, version 3.0, as published by the - * Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - * - * As a special exception, AlliedModders LLC gives you permission to link the - * code of this program (as well as its derivative works) to "Half-Life 2," the - * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software - * by the Valve Corporation. You must obey the GNU General Public License in - * all respects for all other code used. Additionally, AlliedModders LLC grants - * this exception to all derivative works. AlliedModders LLC defines further - * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007), - * or . - * - * Version: $Id$ - */ - -#include -#include -#include "smsdk_ext.h" - -/** - * @file smsdk_ext.cpp - * @brief Contains wrappers for making Extensions easier to write. - */ - -IShareSys *g_pShareSys = NULL; /**< Share system */ -IExtension *myself = NULL; /**< Ourself */ -IHandleSys *g_pHandleSys = NULL; /**< Handle system */ -ISourceMod *g_pSM = NULL; /**< SourceMod helpers */ -IForwardManager *g_pForwards = NULL; /**< Forward system */ - -/** Exports the main interface */ -PLATFORM_EXTERN_C IExtensionInterface *GetSMExtAPI() -{ - return g_pExtensionIface; -} - -SDKExtension::SDKExtension() -{ -#if defined SMEXT_CONF_METAMOD - m_SourceMMLoaded = false; - m_WeAreUnloaded = false; - m_WeGotPauseChange = false; -#endif -} - -bool SDKExtension::OnExtensionLoad(IExtension *me, IShareSys *sys, char *error, size_t maxlength, bool late) -{ - g_pShareSys = sys; - myself = me; - -#if defined SMEXT_CONF_METAMOD - m_WeAreUnloaded = true; - - if (!m_SourceMMLoaded) - { - if (error) - { - snprintf(error, maxlength, "Metamod attach failed"); - } - return false; - } -#endif - - SM_GET_IFACE(HANDLESYSTEM, g_pHandleSys); - SM_GET_IFACE(SOURCEMOD, g_pSM); - SM_GET_IFACE(FORWARDMANAGER, g_pForwards); - - if (SDK_OnLoad(error, maxlength, late)) - { -#if defined SMEXT_CONF_METAMOD - m_WeAreUnloaded = true; -#endif - return true; - } - - return false; -} - -bool SDKExtension::IsMetamodExtension() -{ -#if defined SMEXT_CONF_METAMOD - return true; -#else - return false; -#endif -} - -void SDKExtension::OnExtensionPauseChange(bool state) -{ -#if defined SMEXT_CONF_METAMOD - m_WeGotPauseChange = true; -#endif - SDK_OnPauseChange(state); -} - -void SDKExtension::OnExtensionsAllLoaded() -{ - SDK_OnAllLoaded(); -} - -void SDKExtension::OnExtensionUnload() -{ -#if defined SMEXT_CONF_METAMOD - m_WeAreUnloaded = true; -#endif - SDK_OnUnload(); -} - -const char *SDKExtension::GetExtensionAuthor() -{ - return SMEXT_CONF_AUTHOR; -} - -const char *SDKExtension::GetExtensionDateString() -{ - return SMEXT_CONF_DATESTRING; -} - -const char *SDKExtension::GetExtensionDescription() -{ - return SMEXT_CONF_DESCRIPTION; -} - -const char *SDKExtension::GetExtensionVerString() -{ - return SMEXT_CONF_VERSION; -} - -const char *SDKExtension::GetExtensionName() -{ - return SMEXT_CONF_NAME; -} - -const char *SDKExtension::GetExtensionTag() -{ - return SMEXT_CONF_LOGTAG; -} - -const char *SDKExtension::GetExtensionURL() -{ - return SMEXT_CONF_URL; -} - -bool SDKExtension::SDK_OnLoad(char *error, size_t maxlength, bool late) -{ - return true; -} - -void SDKExtension::SDK_OnUnload() -{ -} - -void SDKExtension::SDK_OnPauseChange(bool paused) -{ -} - -void SDKExtension::SDK_OnAllLoaded() -{ -} - -#if defined SMEXT_CONF_METAMOD - -PluginId g_PLID = 0; /**< Metamod plugin ID */ -ISmmPlugin *g_PLAPI = NULL; /**< Metamod plugin API */ -SourceHook::ISourceHook *g_SHPtr = NULL; /**< SourceHook pointer */ -ISmmAPI *g_SMAPI = NULL; /**< SourceMM API pointer */ - -IVEngineServer *engine = NULL; /**< IVEngineServer pointer */ -IServerGameDLL *gamedll = NULL; /**< IServerGameDLL pointer */ - -/** Exposes the extension to Metamod */ -SMM_API void *PL_EXPOSURE(const char *name, int *code) -{ - if (name && !strcmp(name, PLAPI_NAME)) - { - if (code) - { - *code = IFACE_OK; - } - return static_cast(g_pExtensionIface); - } - - if (code) - { - *code = IFACE_FAILED; - } - - return NULL; -} - -bool SDKExtension::Load(PluginId id, ISmmAPI *ismm, char *error, size_t maxlen, bool late) -{ - PLUGIN_SAVEVARS(); - - GET_V_IFACE_ANY(serverFactory, gamedll, IServerGameDLL, INTERFACEVERSION_SERVERGAMEDLL); - GET_V_IFACE_CURRENT(engineFactory, engine, IVEngineServer, INTERFACEVERSION_VENGINESERVER); - - m_SourceMMLoaded = true; - - return SDK_OnMetamodLoad(ismm, error, maxlen, late); -} - -bool SDKExtension::Unload(char *error, size_t maxlen) -{ - if (!m_WeAreUnloaded) - { - if (error) - { - snprintf(error, maxlen, "This extension must be unloaded by SourceMod."); - } - return false; - } - - return SDK_OnMetamodUnload(error, maxlen); -} - -bool SDKExtension::Pause(char *error, size_t maxlen) -{ - if (!m_WeGotPauseChange) - { - if (error) - { - snprintf(error, maxlen, "This extension must be paused by SourceMod."); - } - return false; - } - - m_WeGotPauseChange = false; - - return SDK_OnMetamodPauseChange(true, error, maxlen); -} - -bool SDKExtension::Unpause(char *error, size_t maxlen) -{ - if (!m_WeGotPauseChange) - { - if (error) - { - snprintf(error, maxlen, "This extension must be unpaused by SourceMod."); - } - return false; - } - - m_WeGotPauseChange = false; - - return SDK_OnMetamodPauseChange(false, error, maxlen); -} - -const char *SDKExtension::GetAuthor() -{ - return GetExtensionAuthor(); -} - -const char *SDKExtension::GetDate() -{ - return GetExtensionDateString(); -} - -const char *SDKExtension::GetDescription() -{ - return GetExtensionDescription(); -} - -const char *SDKExtension::GetLicense() -{ - return SMEXT_CONF_LICENSE; -} - -const char *SDKExtension::GetLogTag() -{ - return GetExtensionTag(); -} - -const char *SDKExtension::GetName() -{ - return GetExtensionName(); -} - -const char *SDKExtension::GetURL() -{ - return GetExtensionURL(); -} - -const char *SDKExtension::GetVersion() -{ - return GetExtensionVerString(); -} - -bool SDKExtension::SDK_OnMetamodLoad(ISmmAPI *ismm, char *error, size_t maxlength, bool late) -{ - return true; -} - -bool SDKExtension::SDK_OnMetamodUnload(char *error, size_t maxlength) -{ - return true; -} - -bool SDKExtension::SDK_OnMetamodPauseChange(bool paused, char *error, size_t maxlength) -{ - return true; -} - -#endif - -/* Overload a few things to prevent libstdc++ linking */ -#if defined __linux__ -extern "C" void __cxa_pure_virtual(void) -{ -} - -void *operator new(size_t size) -{ - return malloc(size); -} - -void *operator new[](size_t size) -{ - return malloc(size); -} - -void operator delete(void *ptr) -{ - free(ptr); -} - -void operator delete[](void * ptr) -{ - free(ptr); -} -#endif diff --git a/extensions/batsupport/sdk/smsdk_ext.h b/extensions/batsupport/sdk/smsdk_ext.h deleted file mode 100644 index f7b5a066..00000000 --- a/extensions/batsupport/sdk/smsdk_ext.h +++ /dev/null @@ -1,226 +0,0 @@ -/** - * vim: set ts=4 : - * ============================================================================= - * SourceMod Base Extension Code - * Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved. - * ============================================================================= - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, version 3.0, as published by the - * Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - * - * As a special exception, AlliedModders LLC gives you permission to link the - * code of this program (as well as its derivative works) to "Half-Life 2," the - * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software - * by the Valve Corporation. You must obey the GNU General Public License in - * all respects for all other code used. Additionally, AlliedModders LLC grants - * this exception to all derivative works. AlliedModders LLC defines further - * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007), - * or . - * - * Version: $Id$ - */ - -#ifndef _INCLUDE_SOURCEMOD_EXTENSION_BASESDK_H_ -#define _INCLUDE_SOURCEMOD_EXTENSION_BASESDK_H_ - -/** - * @file smsdk_ext.h - * @brief Contains wrappers for making Extensions easier to write. - */ - -#include "smsdk_config.h" -#include -#include -#include -#include -#include -#include - -#if defined SMEXT_CONF_METAMOD -#include -#include -#endif - -using namespace SourceMod; -using namespace SourcePawn; - -class SDKExtension : -#if defined SMEXT_CONF_METAMOD - public ISmmPlugin, -#endif - public IExtensionInterface -{ -public: - /** Constructor */ - SDKExtension(); -public: - /** - * @brief This is called after the initial loading sequence has been processed. - * - * @param error Error message buffer. - * @param maxlength Size of error message buffer. - * @param late Whether or not the module was loaded after map load. - * @return True to succeed loading, false to fail. - */ - virtual bool SDK_OnLoad(char *error, size_t maxlength, bool late); - - /** - * @brief This is called right before the extension is unloaded. - */ - virtual void SDK_OnUnload(); - - /** - * @brief This is called once all known extensions have been loaded. - */ - virtual void SDK_OnAllLoaded(); - - /** - * @brief Called when the pause state is changed. - */ - virtual void SDK_OnPauseChange(bool paused); - -#if defined SMEXT_CONF_METAMOD - /** - * @brief Called when Metamod is attached, before the extension version is called. - * - * @param error Error buffer. - * @param maxlength Maximum size of error buffer. - * @param late Whether or not Metamod considers this a late load. - * @return True to succeed, false to fail. - */ - virtual bool SDK_OnMetamodLoad(ISmmAPI *ismm, char *error, size_t maxlength, bool late); - - /** - * @brief Called when Metamod is detaching, after the extension version is called. - * NOTE: By default this is blocked unless sent from SourceMod. - * - * @param error Error buffer. - * @param maxlength Maximum size of error buffer. - * @return True to succeed, false to fail. - */ - virtual bool SDK_OnMetamodUnload(char *error, size_t maxlength); - - /** - * @brief Called when Metamod's pause state is changing. - * NOTE: By default this is blocked unless sent from SourceMod. - * - * @param paused Pause state being set. - * @param error Error buffer. - * @param maxlength Maximum size of error buffer. - * @return True to succeed, false to fail. - */ - virtual bool SDK_OnMetamodPauseChange(bool paused, char *error, size_t maxlength); -#endif - -public: // IExtensionInterface - virtual bool OnExtensionLoad(IExtension *me, IShareSys *sys, char *error, size_t maxlength, bool late); - virtual void OnExtensionUnload(); - virtual void OnExtensionsAllLoaded(); - - /** Returns whether or not this is a Metamod-based extension */ - virtual bool IsMetamodExtension(); - - /** - * @brief Called when the pause state changes. - * - * @param state True if being paused, false if being unpaused. - */ - virtual void OnExtensionPauseChange(bool state); - - /** Returns name */ - virtual const char *GetExtensionName(); - /** Returns URL */ - virtual const char *GetExtensionURL(); - /** Returns log tag */ - virtual const char *GetExtensionTag(); - /** Returns author */ - virtual const char *GetExtensionAuthor(); - /** Returns version string */ - virtual const char *GetExtensionVerString(); - /** Returns description string */ - virtual const char *GetExtensionDescription(); - /** Returns date string */ - virtual const char *GetExtensionDateString(); -#if defined SMEXT_CONF_METAMOD -public: // ISmmPlugin - /** Called when the extension is attached to Metamod. */ - virtual bool Load(PluginId id, ISmmAPI *ismm, char *error, size_t maxlen, bool late); - /** Returns the author to MM */ - virtual const char *GetAuthor(); - /** Returns the name to MM */ - virtual const char *GetName(); - /** Returns the description to MM */ - virtual const char *GetDescription(); - /** Returns the URL to MM */ - virtual const char *GetURL(); - /** Returns the license to MM */ - virtual const char *GetLicense(); - /** Returns the version string to MM */ - virtual const char *GetVersion(); - /** Returns the date string to MM */ - virtual const char *GetDate(); - /** Returns the logtag to MM */ - virtual const char *GetLogTag(); - /** Called on unload */ - virtual bool Unload(char *error, size_t maxlen); - /** Called on pause */ - virtual bool Pause(char *error, size_t maxlen); - /** Called on unpause */ - virtual bool Unpause(char *error, size_t maxlen); -private: - bool m_SourceMMLoaded; - bool m_WeAreUnloaded; - bool m_WeGotPauseChange; -#endif -}; - -extern SDKExtension *g_pExtensionIface; - -extern IShareSys *g_pShareSys; -extern IExtension *myself; -extern IHandleSys *g_pHandleSys; -extern ISourceMod *g_pSM; -extern IForwardManager *g_pForwards; - -#if defined SMEXT_CONF_METAMOD -PLUGIN_GLOBALVARS(); -extern IVEngineServer *engine; -extern IServerGameDLL *gamedll; -#endif - -/** Creates a SourceMod interface macro pair */ -#define SM_MKIFACE(name) SMINTERFACE_##name##_NAME, SMINTERFACE_##name##_VERSION -/** Automates retrieving SourceMod interfaces */ -#define SM_GET_IFACE(prefix, addr) \ - if (!g_pShareSys->RequestInterface(SM_MKIFACE(prefix), myself, (SMInterface **)&addr)) \ - { \ - if (error) \ - { \ - snprintf(error, maxlength, "Could not find interface: %s", SMINTERFACE_##prefix##_NAME); \ - return false; \ - } \ - } -/** Automates retrieving SourceMod interfaces when needed outside of SDK_OnLoad() */ -#define SM_GET_LATE_IFACE(prefix, addr) \ - g_pShareSys->RequestInterface(SM_MKIFACE(prefix), myself, (SMInterface **)&addr) -/** Validates a SourceMod interface pointer */ -#define SM_CHECK_IFACE(prefix, addr) \ - if (!addr) \ - { \ - if (error) \ - { \ - snprintf(error, maxlength, "Could not find interface: %s", SMINTERFACE_##prefix##_NAME); \ - return false; \ - } \ - } - -#endif // _INCLUDE_SOURCEMOD_EXTENSION_BASESDK_H_ diff --git a/extensions/bintools/Makefile b/extensions/bintools/Makefile index eb85ca4f..c875e6af 100644 --- a/extensions/bintools/Makefile +++ b/extensions/bintools/Makefile @@ -1,9 +1,12 @@ -#(C)2004-2008 Metamod:Source Development Team +# (C)2004-2008 SourceMod Development Team # Makefile written by David "BAILOPAN" Anderson SMSDK = ../.. -SRCDS = ~/srcds -SOURCEMM = ../../../sourcemm +SRCDS_BASE = ~/srcds +HL2SDK_ORIG = ../../../hl2sdk +HL2SDK_OB = ../../../hl2sdk-ob +SOURCEMM14 = ../../../sourcemm-1.4 +SOURCEMM16 = ../../../sourcemm-1.6 ##################################### ### EDIT BELOW FOR OTHER PROJECTS ### @@ -11,8 +14,8 @@ SOURCEMM = ../../../sourcemm PROJECT = bintools -#Uncomment for SourceMM-enabled extensions -#LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_i486.so tier0_i486.so +#Uncomment for Metamod: Source enabled extension +#USEMETA = true OBJECTS = sdk/smsdk_ext.cpp extension.cpp jit_call.cpp CallWrapper.cpp CallMaker.cpp @@ -20,28 +23,52 @@ OBJECTS = sdk/smsdk_ext.cpp extension.cpp jit_call.cpp CallWrapper.cpp CallMaker ### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ### ############################################## -C_OPT_FLAGS = -O3 -funroll-loops -s -pipe -fno-strict-aliasing -C_DEBUG_FLAGS = -g -ggdb3 -CPP_GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden +C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -s -pipe -fno-strict-aliasing +C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3 +C_GCC4_FLAGS = -fvisibility=hidden +CPP_GCC4_FLAGS = -fvisibility-inlines-hidden CPP = gcc-4.1 -HL2PUB = $(HL2SDK)/public -HL2LIB = $(HL2SDK)/linux_sdk -HL2SDK = $(SOURCEMM)/hl2sdk -SMM_TRUNK = $(SOURCEMM)/trunk +override ENGSET = false +ifeq "$(ENGINE)" "original" + HL2SDK = $(HL2SDK_ORIG) + HL2PUB = $(HL2SDK_ORIG)/public + HL2LIB = $(HL2SDK_ORIG)/linux_sdk + METAMOD = $(SOURCEMM14) + INCLUDE += -I$(HL2SDK)/public/dlls + SRCDS = $(SRCDS_BASE) + override ENGSET = true +endif +ifeq "$(ENGINE)" "orangebox" + HL2SDK = $(HL2SDK_OB) + HL2PUB = $(HL2SDK_OB)/public + HL2LIB = $(HL2SDK_OB)/linux_sdk + CFLAGS += -DORANGEBOX_BUILD + METAMOD = $(SOURCEMM16) + INCLUDE += -I$(HL2SDK)/public/game/server + SRCDS = $(SRCDS_BASE)/orangebox + override ENGSET = true +endif -LINK = $(LINK_HL2) -static-libgcc +ifeq "$(USEMETA)" "true" + LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_i486.so tier0_i486.so -INCLUDE = -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/dlls -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \ - -I$(HL2PUB)/vstdlib -I$(HL2SDK)/tier1 -I$(SMM_TRUNK) -I$(SMM_TRUNK)/sourcehook -I$(SMM_TRUNK)/sourcemm \ - -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(SMSDK)/public/extensions -I$(SMSDK)/public/jit \ - -I$(SMSDK)/public/jit/x86 + LINK += $(LINK_HL2) -CFLAGS = -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp \ - -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca \ - -Dstrcmpi=strcasecmp -Wall -Werror -mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H \ - -m32 -CPPFLAGS = -Wno-non-virtual-dtor -fno-exceptions -fno-rtti -m32 + INCLUDE += -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \ + -I$(METAMOD) -I$(METAMOD)/sourcehook -I$(METAMOD)/sourcemm -I$(SMSDK)/public \ + -I$(SMSDK)/public/sourcepawn +else + INCLUDE += -I. -I.. -Isdk -I$(SMSDK)/public -I$(SMSDK)/public/extensions -I$(SMSDK)/public/jit \ + -I$(SMSDK)/public/jit/x86 -I$(SMSDK)/public/sourcepawn +endif + +LINK += -static-libgcc + +CFLAGS += -D_LINUX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \ + -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror -mfpmath=sse \ + -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32 +CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti ################################################ ### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ### @@ -55,9 +82,13 @@ else CFLAGS += $(C_OPT_FLAGS) endif +ifeq "$(USEMETA)" "true" + BIN_DIR := $(BIN_DIR).$(ENGINE) +endif GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1) ifeq "$(GCC_VERSION)" "4" + CFLAGS += $(C_GCC4_FLAGS) CPPFLAGS += $(CPP_GCC4_FLAGS) endif @@ -68,24 +99,29 @@ OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o) $(BIN_DIR)/%.o: %.cpp $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< -all: +all: check mkdir -p $(BIN_DIR)/sdk - ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so - ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so - $(MAKE) extension + if [ "$(USEMETA)" == "true" ]; then \ + ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so; \ + ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so; \ + fi + $(MAKE) -f Makefile extension -extension: $(OBJ_LINUX) - $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) +check: + if [ "$(USEMETA)" == "true" ] && [ "$(ENGSET)" == "false" ]; then \ + echo "You must supply ENGINE=orangebox or ENGINE=original"; \ + exit 1; \ + fi -debug: - $(MAKE) all DEBUG=true +extension: check $(OBJ_LINUX) + $(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) + +debug: + $(MAKE) -f Makefile all DEBUG=true default: all -clean: - rm -rf Release/*.o - rm -rf Release/sdk/*.o - rm -rf Release/$(BINARY) - rm -rf Debug/*.o - rm -rf Debug/sdk/*.o - rm -rf Debug/$(BINARY) +clean: check + rm -rf $(BIN_DIR)/*.o + rm -rf $(BIN_DIR)/sdk/*.o + rm -rf $(BIN_DIR)/$(BINARY) diff --git a/extensions/cstrike/Makefile b/extensions/cstrike/Makefile index 78c71e63..49e13715 100644 --- a/extensions/cstrike/Makefile +++ b/extensions/cstrike/Makefile @@ -1,12 +1,12 @@ -#(C)2004-2008 Metamod:Source Development Team +# (C)2004-2008 SourceMod Development Team # Makefile written by David "BAILOPAN" Anderson +SMSDK = ../.. +SRCDS_BASE = ~/srcds HL2SDK_ORIG = ../../../hl2sdk HL2SDK_OB = ../../../hl2sdk-ob SOURCEMM14 = ../../../sourcemm-1.4 SOURCEMM16 = ../../../sourcemm-1.6 -SRCDS_BASE = ~/srcds -SMSDK = ../.. ##################################### ### EDIT BELOW FOR OTHER PROJECTS ### @@ -14,17 +14,22 @@ SMSDK = ../.. PROJECT = game.cstrike +#Uncomment for Metamod: Source enabled extension +USEMETA = true + OBJECTS = sdk/smsdk_ext.cpp extension.cpp natives.cpp RegNatives.cpp timeleft.cpp ############################################## ### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ### ############################################## -C_OPT_FLAGS = -O3 -funroll-loops -s -pipe -fno-strict-aliasing -C_DEBUG_FLAGS = -g -ggdb3 -CPP_GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden +C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -s -pipe -fno-strict-aliasing +C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3 +C_GCC4_FLAGS = -fvisibility=hidden +CPP_GCC4_FLAGS = -fvisibility-inlines-hidden CPP = gcc-4.1 +override ENGSET = false ifeq "$(ENGINE)" "original" HL2SDK = $(HL2SDK_ORIG) HL2PUB = $(HL2SDK_ORIG)/public @@ -32,6 +37,7 @@ ifeq "$(ENGINE)" "original" METAMOD = $(SOURCEMM14) INCLUDE += -I$(HL2SDK)/public/dlls SRCDS = $(SRCDS_BASE) + override ENGSET = true endif ifeq "$(ENGINE)" "orangebox" HL2SDK = $(HL2SDK_OB) @@ -41,40 +47,47 @@ ifeq "$(ENGINE)" "orangebox" METAMOD = $(SOURCEMM16) INCLUDE += -I$(HL2SDK)/public/game/server SRCDS = $(SRCDS_BASE)/orangebox -endif -ifeq "$(ENGINE)" "" - echo "You must supply ENGINE=orangebox or ENGINE=original" - false + override ENGSET = true endif -LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_i486.so tier0_i486.so +ifeq "$(USEMETA)" "true" + LINK_HL2 = $(HL2LIB)/tier1_i486.a tier0_i486.so -LINK += $(LINK_HL2) -static-libgcc + LINK += $(LINK_HL2) -INCLUDE += -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \ - -I$(HL2PUB)/vstdlib -I$(HL2SDK)/tier1 -I$(METAMOD) -I$(METAMOD)/sourcehook -I$(METAMOD)/sourcemm \ - -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(SMSDK)/public/extensions + INCLUDE += -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \ + -I$(METAMOD) -I$(METAMOD)/sourcehook -I$(METAMOD)/sourcemm -I$(SMSDK)/public \ + -I$(SMSDK)/public/extensions -I$(SMSDK)/public/sourcepawn +else + INCLUDE += -I. -I.. -Isdk -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn +endif -CFLAGS += -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp \ - -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp \ - -Wall -Werror -mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32 -CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti +LINK += -static-libgcc + +CFLAGS += -D_LINUX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \ + -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror -mfpmath=sse \ + -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32 +CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti ################################################ ### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ### ################################################ ifeq "$(DEBUG)" "true" - BIN_DIR = Debug.$(ENGINE) + BIN_DIR = Debug CFLAGS += $(C_DEBUG_FLAGS) else - BIN_DIR = Release.$(ENGINE) + BIN_DIR = Release CFLAGS += $(C_OPT_FLAGS) endif +ifeq "$(USEMETA)" "true" + BIN_DIR := $(BIN_DIR).$(ENGINE) +endif GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1) ifeq "$(GCC_VERSION)" "4" + CFLAGS += $(C_GCC4_FLAGS) CPPFLAGS += $(CPP_GCC4_FLAGS) endif @@ -85,19 +98,28 @@ OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o) $(BIN_DIR)/%.o: %.cpp $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< -all: +all: check mkdir -p $(BIN_DIR)/sdk - ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so - ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so + if [ "$(USEMETA)" == "true" ]; then \ + ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so; \ + fi $(MAKE) -f Makefile extension -extension: $(OBJ_LINUX) - $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) +check: + if [ "$(USEMETA)" == "true" ] && [ "$(ENGSET)" == "false" ]; then \ + echo "You must supply ENGINE=orangebox or ENGINE=original"; \ + exit 1; \ + fi + +extension: check $(OBJ_LINUX) + $(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) + +debug: + $(MAKE) -f Makefile all DEBUG=true default: all -clean: +clean: check rm -rf $(BIN_DIR)/*.o rm -rf $(BIN_DIR)/sdk/*.o rm -rf $(BIN_DIR)/$(BINARY) - diff --git a/extensions/cstrike/msvc8/cstrike.vcproj b/extensions/cstrike/msvc8/cstrike.vcproj index 3ef10185..9a7b98a3 100644 --- a/extensions/cstrike/msvc8/cstrike.vcproj +++ b/extensions/cstrike/msvc8/cstrike.vcproj @@ -203,7 +203,7 @@ &1 | cut -b1) ifeq "$(GCC_VERSION)" "4" + CFLAGS += $(C_GCC4_FLAGS) CPPFLAGS += $(CPP_GCC4_FLAGS) endif BINARY = $(PROJECT).ext.so OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o) -OBJ_LINUX := $(OBJ_LINUX:%.c=$(BIN_DIR)/%.o) $(BIN_DIR)/%.o: %.cpp $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< -$(BIN_DIR)/%.o: %.c - $(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $< - -all: +all: check mkdir -p $(BIN_DIR)/sdk - ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so - ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so - $(MAKE) extension + if [ "$(USEMETA)" == "true" ]; then \ + ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so; \ + ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so; \ + fi + $(MAKE) -f Makefile extension -extension: $(OBJ_LINUX) - $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) +check: + if [ "$(USEMETA)" == "true" ] && [ "$(ENGSET)" == "false" ]; then \ + echo "You must supply ENGINE=orangebox or ENGINE=original"; \ + exit 1; \ + fi -debug: - $(MAKE) all DEBUG=true +extension: check $(OBJ_LINUX) + $(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) + +debug: + $(MAKE) -f Makefile all DEBUG=true default: all -clean: - rm -rf Release/*.o - rm -rf Release/sdk/*.o - rm -rf Release/$(BINARY) - rm -rf Debug/*.o - rm -rf Debug/sdk/*.o - rm -rf Debug/$(BINARY) +clean: check + rm -rf $(BIN_DIR)/*.o + rm -rf $(BIN_DIR)/sdk/*.o + rm -rf $(BIN_DIR)/$(BINARY) diff --git a/extensions/mysql/Makefile b/extensions/mysql/Makefile index be18bc06..f258d1e8 100644 --- a/extensions/mysql/Makefile +++ b/extensions/mysql/Makefile @@ -1,9 +1,12 @@ -#(C)2004-2008 Metamod:Source Development Team +# (C)2004-2008 SourceMod Development Team # Makefile written by David "BAILOPAN" Anderson SMSDK = ../.. -SRCDS = ~/srcds -SOURCEMM = ../../../sourcemm-1.6 +SRCDS_BASE = ~/srcds +HL2SDK_ORIG = ../../../hl2sdk +HL2SDK_OB = ../../../hl2sdk-ob +SOURCEMM14 = ../../../sourcemm-1.4 +SOURCEMM16 = ../../../sourcemm-1.6 MYSQL = ../../../mysql-5.0 ##################################### @@ -12,8 +15,8 @@ MYSQL = ../../../mysql-5.0 PROJECT = dbi.mysql -#Uncomment for SourceMM-enabled extensions -#LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_i486.so tier0_i486.so +#Uncomment for Metamod: Source enabled extension +#USEMETA = true OBJECTS = sdk/smsdk_ext.cpp extension.cpp \ mysql/MyBasicResults.cpp mysql/MyDatabase.cpp \ @@ -24,28 +27,52 @@ OBJECTS = sdk/smsdk_ext.cpp extension.cpp \ ### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ### ############################################## -C_OPT_FLAGS = -O3 -funroll-loops -s -pipe -fno-strict-aliasing -C_DEBUG_FLAGS = -g -ggdb3 -CPP_GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden +C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -s -pipe -fno-strict-aliasing +C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3 +C_GCC4_FLAGS = -fvisibility=hidden +CPP_GCC4_FLAGS = -fvisibility-inlines-hidden CPP = gcc-4.1 -HL2PUB = $(HL2SDK)/public -HL2LIB = $(HL2SDK)/linux_sdk -HL2SDK = $(SOURCEMM)/hl2sdk +override ENGSET = false +ifeq "$(ENGINE)" "original" + HL2SDK = $(HL2SDK_ORIG) + HL2PUB = $(HL2SDK_ORIG)/public + HL2LIB = $(HL2SDK_ORIG)/linux_sdk + METAMOD = $(SOURCEMM14) + INCLUDE += -I$(HL2SDK)/public/dlls + SRCDS = $(SRCDS_BASE) + override ENGSET = true +endif +ifeq "$(ENGINE)" "orangebox" + HL2SDK = $(HL2SDK_OB) + HL2PUB = $(HL2SDK_OB)/public + HL2LIB = $(HL2SDK_OB)/linux_sdk + CFLAGS += -DORANGEBOX_BUILD + METAMOD = $(SOURCEMM16) + INCLUDE += -I$(HL2SDK)/public/game/server + SRCDS = $(SRCDS_BASE)/orangebox + override ENGSET = true +endif -LINK = $(LINK_HL2) $(MYSQL)/lib/libmysqlclient_r.a -lz -static-libgcc -lpthread +ifeq "$(USEMETA)" "true" + LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_i486.so tier0_i486.so -INCLUDE = -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/dlls -I$(HL2PUB)/engine \ - -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 -I$(HL2PUB)/vstdlib -I$(HL2SDK)/tier1 \ - -I$(SOURCEMM) -I$(SOURCEMM)/sourcehook -I$(SOURCEMM)/sourcemm \ - -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(SMSDK)/public/extensions \ - -I$(MYSQL)/include + LINK += $(LINK_HL2) -CFLAGS = -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp \ - -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca \ - -Dstrcmpi=strcasecmp -Wall -Werror -mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H \ - -Wno-switch -m32 -CPPFLAGS = -Wno-non-virtual-dtor -fno-exceptions -fno-rtti + INCLUDE += -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \ + -I$(METAMOD) -I$(METAMOD)/sourcehook -I$(METAMOD)/sourcemm -I$(SMSDK)/public \ + -I$(SMSDK)/public/sourcepawn +else + INCLUDE += -I. -I.. -Isdk -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(SOURCEMM16)/sourcehook \ + -I$(MYSQL)/include +endif + +LINK += $(MYSQL)/lib/libmysqlclient_r.a -lz -static-libgcc -lpthread + +CFLAGS += -D_LINUX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \ + -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror -Wno-switch \ + -mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32 +CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti ################################################ ### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ### @@ -59,9 +86,13 @@ else CFLAGS += $(C_OPT_FLAGS) endif +ifeq "$(USEMETA)" "true" + BIN_DIR := $(BIN_DIR).$(ENGINE) +endif GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1) ifeq "$(GCC_VERSION)" "4" + CFLAGS += $(C_GCC4_FLAGS) CPPFLAGS += $(CPP_GCC4_FLAGS) endif @@ -72,28 +103,31 @@ OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o) $(BIN_DIR)/%.o: %.cpp $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< -all: +all: check mkdir -p $(BIN_DIR)/sdk mkdir -p $(BIN_DIR)/mysql - ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so - ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so - $(MAKE) extension + if [ "$(USEMETA)" == "true" ]; then \ + ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so; \ + ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so; \ + fi + $(MAKE) -f Makefile extension -extension: $(OBJ_LINUX) - $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) +check: + if [ "$(USEMETA)" == "true" ] && [ "$(ENGSET)" == "false" ]; then \ + echo "You must supply ENGINE=orangebox or ENGINE=original"; \ + exit 1; \ + fi -debug: - $(MAKE) all DEBUG=true +extension: check $(OBJ_LINUX) + $(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) + +debug: + $(MAKE) -f Makefile all DEBUG=true default: all -clean: - rm -rf Release/*.o - rm -rf Release/sdk/*.o - rm -rf Release/mysql/*.o - rm -rf Release/$(BINARY) - rm -rf Debug/*.o - rm -rf Debug/sdk/*.o - rm -rf Debug/mysql/*.o - rm -rf Debug/$(BINARY) - +clean: check + rm -rf $(BIN_DIR)/*.o + rm -rf $(BIN_DIR)/sdk/*.o + rm -rf $(BIN_DIR)/mysql/*.o + rm -rf $(BIN_DIR)/$(BINARY) diff --git a/extensions/regex/Makefile b/extensions/regex/Makefile index 0c0274fa..fc4dac57 100644 --- a/extensions/regex/Makefile +++ b/extensions/regex/Makefile @@ -1,10 +1,12 @@ -#(C)2004-2008 Metamod:Source Development Team +# (C)2004-2008 SourceMod Development Team # Makefile written by David "BAILOPAN" Anderson SMSDK = ../.. -SRCDS = ~/srcds -SOURCEMM = ../../../sourcemm-1.6 -HL2SDK = ../../../hl2sdk +SRCDS_BASE = ~/srcds +HL2SDK_ORIG = ../../../hl2sdk +HL2SDK_OB = ../../../hl2sdk-ob +SOURCEMM14 = ../../../sourcemm-1.4 +SOURCEMM16 = ../../../sourcemm-1.6 ##################################### ### EDIT BELOW FOR OTHER PROJECTS ### @@ -12,34 +14,60 @@ HL2SDK = ../../../hl2sdk PROJECT = regex -#Uncomment for SourceMM-enabled extensions -#LINK_HL2 = $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_i486.so tier0_i486.so +#Uncomment for Metamod: Source enabled extension +#USEMETA = true -OBJECTS = extension.cpp CRegEx.cpp sdk/smsdk_ext.cpp +OBJECTS = sdk/smsdk_ext.cpp extension.cpp CRegEx.cpp ############################################## ### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ### ############################################## -C_OPT_FLAGS = -O3 -funroll-loops -s -pipe -fno-strict-aliasing -C_DEBUG_FLAGS = -g -ggdb3 -CPP_GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden +C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -s -pipe -fno-strict-aliasing +C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3 +C_GCC4_FLAGS = -fvisibility=hidden +CPP_GCC4_FLAGS = -fvisibility-inlines-hidden CPP = gcc-4.1 -HL2PUB = $(HL2SDK)/public -HL2LIB = $(HL2SDK)/linux_sdk +override ENGSET = false +ifeq "$(ENGINE)" "original" + HL2SDK = $(HL2SDK_ORIG) + HL2PUB = $(HL2SDK_ORIG)/public + HL2LIB = $(HL2SDK_ORIG)/linux_sdk + METAMOD = $(SOURCEMM14) + INCLUDE += -I$(HL2SDK)/public/dlls + SRCDS = $(SRCDS_BASE) + override ENGSET = true +endif +ifeq "$(ENGINE)" "orangebox" + HL2SDK = $(HL2SDK_OB) + HL2PUB = $(HL2SDK_OB)/public + HL2LIB = $(HL2SDK_OB)/linux_sdk + CFLAGS += -DORANGEBOX_BUILD + METAMOD = $(SOURCEMM16) + INCLUDE += -I$(HL2SDK)/public/game/server + SRCDS = $(SRCDS_BASE)/orangebox + override ENGSET = true +endif -LINK = $(LINK_HL2) lib_linux/libpcre.a -static-libgcc +ifeq "$(USEMETA)" "true" + LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_i486.so tier0_i486.so -INCLUDE = -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/dlls -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \ - -I$(HL2PUB)/vstdlib -I$(HL2SDK)/tier1 -I$(SOURCEMM) -I$(SOURCEMM)/sourcehook -I$(SOURCEMM)/sourcemm \ - -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(SMSDK)/public/extensions \ + LINK += $(LINK_HL2) -CFLAGS = -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp \ - -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca \ - -Dstrcmpi=strcasecmp -Wall -Werror -Wno-switch -Wno-unused -mfpmath=sse -msse \ - -DSOURCEMOD_BUILD -DHAVE_STDINT_H -Wno-uninitialized -m32 -CPPFLAGS = -Wno-non-virtual-dtor -fno-exceptions -fno-rtti -fno-threadsafe-statics + INCLUDE += -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \ + -I$(METAMOD) -I$(METAMOD)/sourcehook -I$(METAMOD)/sourcemm -I$(SMSDK)/public \ + -I$(SMSDK)/public/sourcepawn +else + INCLUDE += -I. -I.. -Isdk -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(SOURCEMM16)/sourcehook +endif + +LINK += lib_linux/libpcre.a -static-libgcc + +CFLAGS += -D_LINUX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \ + -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror -mfpmath=sse \ + -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32 +CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti ################################################ ### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ### @@ -53,9 +81,13 @@ else CFLAGS += $(C_OPT_FLAGS) endif +ifeq "$(USEMETA)" "true" + BIN_DIR := $(BIN_DIR).$(ENGINE) +endif GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1) ifeq "$(GCC_VERSION)" "4" + CFLAGS += $(C_GCC4_FLAGS) CPPFLAGS += $(CPP_GCC4_FLAGS) endif @@ -66,24 +98,29 @@ OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o) $(BIN_DIR)/%.o: %.cpp $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< -all: +all: check mkdir -p $(BIN_DIR)/sdk - ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so - ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so - $(MAKE) extension + if [ "$(USEMETA)" == "true" ]; then \ + ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so; \ + ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so; \ + fi + $(MAKE) -f Makefile extension -extension: $(OBJ_LINUX) - $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) +check: + if [ "$(USEMETA)" == "true" ] && [ "$(ENGSET)" == "false" ]; then \ + echo "You must supply ENGINE=orangebox or ENGINE=original"; \ + exit 1; \ + fi + +extension: check $(OBJ_LINUX) + $(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) debug: - $(MAKE) all DEBUG=true + $(MAKE) -f Makefile all DEBUG=true default: all -clean: - rm -rf Release/*.o - rm -rf Release/sdk/*.o - rm -rf Release/$(BINARY) - rm -rf Debug/*.o - rm -rf Debug/sdk/*.o - rm -rf Debug/$(BINARY) +clean: check + rm -rf $(BIN_DIR)/*.o + rm -rf $(BIN_DIR)/sdk/*.o + rm -rf $(BIN_DIR)/$(BINARY) diff --git a/extensions/sdktools/Makefile b/extensions/sdktools/Makefile index 71b4e669..4459d9a3 100644 --- a/extensions/sdktools/Makefile +++ b/extensions/sdktools/Makefile @@ -1,12 +1,12 @@ -#(C)2004-2008 Metamod:Source Development Team +# (C)2004-2008 SourceMod Development Team # Makefile written by David "BAILOPAN" Anderson +SMSDK = ../.. +SRCDS_BASE = ~/srcds HL2SDK_ORIG = ../../../hl2sdk HL2SDK_OB = ../../../hl2sdk-ob SOURCEMM14 = ../../../sourcemm-1.4 SOURCEMM16 = ../../../sourcemm-1.6 -SRCDS_BASE = ~/srcds -SMSDK = ../.. ##################################### ### EDIT BELOW FOR OTHER PROJECTS ### @@ -14,6 +14,9 @@ SMSDK = ../.. PROJECT = sdktools +#Uncomment for Metamod: Source enabled extension +USEMETA = true + OBJECTS = sdk/smsdk_ext.cpp extension.cpp vdecoder.cpp vcallbuilder.cpp vcaller.cpp \ vnatives.cpp vsound.cpp tenatives.cpp trnatives.cpp tempents.cpp vstringtable.cpp \ vhelpers.cpp vglobals.cpp voice.cpp inputnatives.cpp teamnatives.cpp output.cpp \ @@ -23,11 +26,13 @@ OBJECTS = sdk/smsdk_ext.cpp extension.cpp vdecoder.cpp vcallbuilder.cpp vcaller. ### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ### ############################################## -C_OPT_FLAGS = -O3 -funroll-loops -s -pipe -fno-strict-aliasing -C_DEBUG_FLAGS = -g -ggdb3 -CPP_GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden +C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -s -pipe -fno-strict-aliasing +C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3 +C_GCC4_FLAGS = -fvisibility=hidden +CPP_GCC4_FLAGS = -fvisibility-inlines-hidden CPP = gcc-4.1 +override ENGSET = false ifeq "$(ENGINE)" "original" HL2SDK = $(HL2SDK_ORIG) HL2PUB = $(HL2SDK_ORIG)/public @@ -35,6 +40,7 @@ ifeq "$(ENGINE)" "original" METAMOD = $(SOURCEMM14) INCLUDE += -I$(HL2SDK)/public/dlls SRCDS = $(SRCDS_BASE) + override ENGSET = true endif ifeq "$(ENGINE)" "orangebox" HL2SDK = $(HL2SDK_OB) @@ -44,39 +50,47 @@ ifeq "$(ENGINE)" "orangebox" METAMOD = $(SOURCEMM16) INCLUDE += -I$(HL2SDK)/public/game/server -I$(HL2SDK)/common SRCDS = $(SRCDS_BASE)/orangebox -endif -ifeq "$(ENGINE)" "" - echo "You must supply ENGINE=orangebox or ENGINE=original" - false + override ENGSET = true endif -LINK_HL2 = $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_i486.so tier0_i486.so +ifeq "$(USEMETA)" "true" + LINK_HL2 = $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_i486.so tier0_i486.so -LINK += $(LINK_HL2) -static-libgcc + LINK += $(LINK_HL2) -INCLUDE += -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \ - -I$(HL2PUB)/vstdlib -I$(HL2SDK)/tier1 -I$(METAMOD) -I$(METAMOD)/sourcehook -I$(METAMOD)/sourcemm \ - -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(SMSDK)/public/extensions \ + INCLUDE += -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/mathlib -I$(HL2PUB)/tier0 \ + -I$(HL2PUB)/tier1 -I$(METAMOD) -I$(METAMOD)/sourcehook -I$(METAMOD)/sourcemm -I$(SMSDK)/public \ + -I$(SMSDK)/public/extensions -I$(SMSDK)/public/sourcepawn +else + INCLUDE += -I. -I.. -Isdk -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn +endif -CFLAGS += -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \ +LINK += -static-libgcc + +CFLAGS += -D_LINUX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \ -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror -Wno-switch \ -Wno-unused -mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32 -CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti -fno-threadsafe-statics +CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti -fno-threadsafe-statics ################################################ ### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ### ################################################ ifeq "$(DEBUG)" "true" - BIN_DIR = Debug.$(ENGINE) + BIN_DIR = Debug CFLAGS += $(C_DEBUG_FLAGS) else - BIN_DIR = Release.$(ENGINE) + BIN_DIR = Release CFLAGS += $(C_OPT_FLAGS) endif +ifeq "$(USEMETA)" "true" + BIN_DIR := $(BIN_DIR).$(ENGINE) +endif + GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1) ifeq "$(GCC_VERSION)" "4" + CFLAGS += $(C_GCC4_FLAGS) CPPFLAGS += $(CPP_GCC4_FLAGS) endif @@ -87,13 +101,21 @@ OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o) $(BIN_DIR)/%.o: %.cpp $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< -all: +all: check mkdir -p $(BIN_DIR)/sdk - ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so - ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so + if [ "$(USEMETA)" == "true" ]; then \ + ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so; \ + ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so; \ + fi $(MAKE) -f Makefile extension -extension: $(OBJ_LINUX) +check: + if [ "$(USEMETA)" == "true" ] && [ "$(ENGSET)" == "false" ]; then \ + echo "You must supply ENGINE=orangebox or ENGINE=original"; \ + exit 1; \ + fi + +extension: check $(OBJ_LINUX) $(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) debug: @@ -101,7 +123,7 @@ debug: default: all -clean: +clean: check rm -rf $(BIN_DIR)/*.o rm -rf $(BIN_DIR)/sdk/*.o rm -rf $(BIN_DIR)/$(BINARY) diff --git a/extensions/sdktools/msvc8/sdktools.vcproj b/extensions/sdktools/msvc8/sdktools.vcproj index cd0c00ea..bbdb742a 100644 --- a/extensions/sdktools/msvc8/sdktools.vcproj +++ b/extensions/sdktools/msvc8/sdktools.vcproj @@ -40,7 +40,7 @@ &1 | cut -b1) ifeq "$(GCC_VERSION)" "4" + CFLAGS += $(C_GCC4_FLAGS) CPPFLAGS += $(CPP_GCC4_FLAGS) endif @@ -89,31 +122,34 @@ $(BIN_DIR)/%.o: %.cpp $(BIN_DIR)/%.o: %.c $(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $< - -all: + +all: check mkdir -p $(BIN_DIR)/sdk mkdir -p $(BIN_DIR)/driver mkdir -p $(BIN_DIR)/sqlite-source - ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so - ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so - $(MAKE) extension + if [ "$(USEMETA)" == "true" ]; then \ + ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so; \ + ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so; \ + fi + $(MAKE) -f Makefile extension -extension: $(OBJ_LINUX) - $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) +check: + if [ "$(USEMETA)" == "true" ] && [ "$(ENGSET)" == "false" ]; then \ + echo "You must supply ENGINE=orangebox or ENGINE=original"; \ + exit 1; \ + fi -debug: - $(MAKE) all DEBUG=true +extension: check $(OBJ_LINUX) + $(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) + +debug: + $(MAKE) -f Makefile all DEBUG=true default: all -clean: - rm -rf Release/*.o - rm -rf Release/sdk/*.o - rm -rf Release/sqlite-source/*.o - rm -rf Release/driver/*.o - rm -rf Release/$(BINARY) - rm -rf Debug/*.o - rm -rf Debug/sdk/*.o - rm -rf Debug/sqlite-source/*.o - rm -rf Debug/driver/*.o - rm -rf Debug/$(BINARY) +clean: check + rm -rf $(BIN_DIR)/*.o + rm -rf $(BIN_DIR)/sdk/*.o + rm -rf $(BIN_DIR)/driver/*.o + rm -rf $(BIN_DIR)/sqlite-source/*.o + rm -rf $(BIN_DIR)/$(BINARY) diff --git a/extensions/tf2/Makefile b/extensions/tf2/Makefile index bbce9bec..6256d6ab 100644 --- a/extensions/tf2/Makefile +++ b/extensions/tf2/Makefile @@ -1,12 +1,12 @@ -#(C)2004-2008 Metamod:Source Development Team +# (C)2004-2008 SourceMod Development Team # Makefile written by David "BAILOPAN" Anderson +SMSDK = ../.. +SRCDS_BASE = ~/srcds HL2SDK_ORIG = ../../../hl2sdk HL2SDK_OB = ../../../hl2sdk-ob SOURCEMM14 = ../../../sourcemm-1.4 SOURCEMM16 = ../../../sourcemm-1.6 -SRCDS_BASE = ~/srcds -SMSDK = ../.. ##################################### ### EDIT BELOW FOR OTHER PROJECTS ### @@ -14,17 +14,22 @@ SMSDK = ../.. PROJECT = game.tf2 -OBJECTS = extension.cpp natives.cpp RegNatives.cpp util.cpp sdk/smsdk_ext.cpp +#Uncomment for Metamod: Source enabled extension +USEMETA = true + +OBJECTS = sdk/smsdk_ext.cpp extension.cpp natives.cpp RegNatives.cpp ############################################## ### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ### ############################################## -C_OPT_FLAGS = -O3 -funroll-loops -s -pipe -fno-strict-aliasing -C_DEBUG_FLAGS = -g -ggdb3 -CPP_GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden +C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -s -pipe -fno-strict-aliasing +C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3 +C_GCC4_FLAGS = -fvisibility=hidden +CPP_GCC4_FLAGS = -fvisibility-inlines-hidden CPP = gcc-4.1 +override ENGSET = false ifeq "$(ENGINE)" "original" HL2SDK = $(HL2SDK_ORIG) HL2PUB = $(HL2SDK_ORIG)/public @@ -32,6 +37,7 @@ ifeq "$(ENGINE)" "original" METAMOD = $(SOURCEMM14) INCLUDE += -I$(HL2SDK)/public/dlls SRCDS = $(SRCDS_BASE) + override ENGSET = true endif ifeq "$(ENGINE)" "orangebox" HL2SDK = $(HL2SDK_OB) @@ -39,42 +45,49 @@ ifeq "$(ENGINE)" "orangebox" HL2LIB = $(HL2SDK_OB)/linux_sdk CFLAGS += -DORANGEBOX_BUILD METAMOD = $(SOURCEMM16) - INCLUDE += -I$(HL2SDK)/public/game/server -I$(HL2SDK)/common + INCLUDE += -I$(HL2SDK)/public/game/server SRCDS = $(SRCDS_BASE)/orangebox -endif -ifeq "$(ENGINE)" "" - echo "You must supply ENGINE=orangebox or ENGINE=original" - false + override ENGSET = true endif -LINK_HL2 = $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_i486.so tier0_i486.so +ifeq "$(USEMETA)" "true" + LINK_HL2 = $(HL2LIB)/tier1_i486.a tier0_i486.so -LINK += $(LINK_HL2) -static-libgcc + LINK += $(LINK_HL2) -INCLUDE += -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \ - -I$(HL2PUB)/vstdlib -I$(HL2SDK)/tier1 -I$(METAMOD) -I$(METAMOD)/sourcehook -I$(METAMOD)/sourcemm \ - -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(SMSDK)/public/extensions \ + INCLUDE += -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \ + -I$(METAMOD) -I$(METAMOD)/sourcehook -I$(METAMOD)/sourcemm -I$(SMSDK)/public \ + -I$(SMSDK)/public/extensions -I$(SMSDK)/public/sourcepawn +else + INCLUDE += -I. -I.. -Isdk -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn +endif -CFLAGS += -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \ +LINK += -static-libgcc + +CFLAGS += -D_LINUX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \ -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror -Wno-switch \ - -Wno-unused -mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32 \ - -Wno-uninitialized -CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti -fno-threadsafe-statics + -Wno-unused -Wno-uninitialized -mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32 +CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti ################################################ ### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ### ################################################ ifeq "$(DEBUG)" "true" - BIN_DIR = Debug.$(ENGINE) + BIN_DIR = Debug CFLAGS += $(C_DEBUG_FLAGS) else - BIN_DIR = Release.$(ENGINE) + BIN_DIR = Release CFLAGS += $(C_OPT_FLAGS) endif +ifeq "$(USEMETA)" "true" + BIN_DIR := $(BIN_DIR).$(ENGINE) +endif + GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1) ifeq "$(GCC_VERSION)" "4" + CFLAGS += $(C_GCC4_FLAGS) CPPFLAGS += $(CPP_GCC4_FLAGS) endif @@ -85,13 +98,20 @@ OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o) $(BIN_DIR)/%.o: %.cpp $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< -all: +all: check mkdir -p $(BIN_DIR)/sdk - ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so - ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so + if [ "$(USEMETA)" == "true" ]; then \ + ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so; \ + fi $(MAKE) -f Makefile extension -extension: $(OBJ_LINUX) +check: + if [ "$(USEMETA)" == "true" ] && [ "$(ENGSET)" == "false" ]; then \ + echo "You must supply ENGINE=orangebox or ENGINE=original"; \ + exit 1; \ + fi + +extension: check $(OBJ_LINUX) $(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) debug: @@ -99,7 +119,7 @@ debug: default: all -clean: +clean: check rm -rf $(BIN_DIR)/*.o rm -rf $(BIN_DIR)/sdk/*.o rm -rf $(BIN_DIR)/$(BINARY) diff --git a/extensions/tf2/msvc8/tf2.sln b/extensions/tf2/msvc8/tf2.sln index 5aa5277e..02dbd658 100644 --- a/extensions/tf2/msvc8/tf2.sln +++ b/extensions/tf2/msvc8/tf2.sln @@ -5,24 +5,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tf2", "tf2.vcproj", "{B3E79 EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug - Episode1|Win32 = Debug - Episode1|Win32 - Debug - Old Metamod|Win32 = Debug - Old Metamod|Win32 Debug - Orange Box|Win32 = Debug - Orange Box|Win32 - Release - Episode 1|Win32 = Release - Episode 1|Win32 - Release - Old Metamod|Win32 = Release - Old Metamod|Win32 Release - Orange Box|Win32 = Release - Orange Box|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Episode1|Win32.ActiveCfg = Debug - Episode1|Win32 - {B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Episode1|Win32.Build.0 = Debug - Episode1|Win32 - {B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Old Metamod|Win32.ActiveCfg = Debug - Old Metamod|Win32 - {B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Old Metamod|Win32.Build.0 = Debug - Old Metamod|Win32 {B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Orange Box|Win32.ActiveCfg = Debug - Orange Box|Win32 {B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Orange Box|Win32.Build.0 = Debug - Orange Box|Win32 - {B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Episode 1|Win32.ActiveCfg = Release - Episode 1|Win32 - {B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Episode 1|Win32.Build.0 = Release - Episode 1|Win32 - {B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Old Metamod|Win32.ActiveCfg = Release - Old Metamod|Win32 - {B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Old Metamod|Win32.Build.0 = Release - Old Metamod|Win32 {B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Orange Box|Win32.ActiveCfg = Release - Orange Box|Win32 {B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Orange Box|Win32.Build.0 = Release - Orange Box|Win32 EndGlobalSection diff --git a/extensions/tf2/msvc8/tf2.vcproj b/extensions/tf2/msvc8/tf2.vcproj index 320051c1..81d60d27 100644 --- a/extensions/tf2/msvc8/tf2.vcproj +++ b/extensions/tf2/msvc8/tf2.vcproj @@ -15,246 +15,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + &1 | cut -b1) ifeq "$(GCC_VERSION)" "4" + CFLAGS += $(C_GCC4_FLAGS) CPPFLAGS += $(CPP_GCC4_FLAGS) endif @@ -67,24 +100,29 @@ OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o) $(BIN_DIR)/%.o: %.cpp $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< -all: +all: check mkdir -p $(BIN_DIR)/sdk - ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so - ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so - $(MAKE) extension + if [ "$(USEMETA)" == "true" ]; then \ + ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so; \ + ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so; \ + fi + $(MAKE) -f Makefile extension -extension: $(OBJ_LINUX) - $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) +check: + if [ "$(USEMETA)" == "true" ] && [ "$(ENGSET)" == "false" ]; then \ + echo "You must supply ENGINE=orangebox or ENGINE=original"; \ + exit 1; \ + fi + +extension: check $(OBJ_LINUX) + $(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) debug: - $(MAKE) all DEBUG=true + $(MAKE) -f Makefile all DEBUG=true default: all -clean: - rm -rf Release/*.o - rm -rf Release/sdk/*.o - rm -rf Release/$(BINARY) - rm -rf Debug/*.o - rm -rf Debug/sdk/*.o - rm -rf Debug/$(BINARY) +clean: check + rm -rf $(BIN_DIR)/*.o + rm -rf $(BIN_DIR)/sdk/*.o + rm -rf $(BIN_DIR)/$(BINARY) diff --git a/loader/Makefile b/loader/Makefile index 06645536..ee02c339 100644 --- a/loader/Makefile +++ b/loader/Makefile @@ -1,11 +1,7 @@ -#(C)2004-2008 AlliedModders LLC -# -# This sample Makefile is designed for SourceMod extensions that -# do not need to be built against HL2SDK, and do not require -# running against Metamod:Source. +# (C)2004-2008 SourceMod Development Team +# Makefile written by David "BAILOPAN" Anderson -SMSDK = .. -SOURCEMM = ../../sourcemm-1.6 +SOURCEMM16 = ../../sourcemm-1.6 ##################################### ### EDIT BELOW FOR OTHER PROJECTS ### @@ -19,21 +15,20 @@ OBJECTS = loader.cpp ### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ### ############################################## -C_OPT_FLAGS = -O3 -funroll-loops -s -pipe -fno-strict-aliasing -C_DEBUG_FLAGS = -g -ggdb3 -CPP_GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden +C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -s -pipe -fno-strict-aliasing +C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3 +C_GCC4_FLAGS = -fvisibility=hidden +CPP_GCC4_FLAGS = -fvisibility-inlines-hidden CPP = gcc-4.1 LINK = -static-libgcc -INCLUDE = -I. -I.. -Isdk -I$(SOURCEMM) -I$(SOURCEMM)/sourcehook -I$(SOURCEMM)/sourcemm \ - -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(SMSDK)/public/extensions \ +INCLUDE = -I$(SOURCEMM16) -I$(SOURCEMM16)/sourcehook -I$(SOURCEMM16)/sourcemm -CFLAGS = -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp \ - -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca \ - -Dstrcmpi=strcasecmp -Wall -Werror -fPIC -mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H \ - -Wno-uninitialized -m32 -CPPFLAGS = -Wno-non-virtual-dtor -fno-exceptions -fno-rtti +CFLAGS += -D_LINUX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \ + -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Wno-uninitialized \ + -mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32 +CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti ################################################ ### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ### @@ -47,9 +42,9 @@ else CFLAGS += $(C_OPT_FLAGS) endif - GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1) ifeq "$(GCC_VERSION)" "4" + CFLAGS += $(C_GCC4_FLAGS) CPPFLAGS += $(CPP_GCC4_FLAGS) endif @@ -61,21 +56,17 @@ $(BIN_DIR)/%.o: %.cpp $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< all: - mkdir -p $(BIN_DIR)/sdk - $(MAKE) extension + mkdir -p $(BIN_DIR) + $(MAKE) -f Makefile loader -extension: $(OBJ_LINUX) - $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) +loader: $(OBJ_LINUX) + $(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) -debug: - $(MAKE) all DEBUG=true +debug: + $(MAKE) -f Makefile all DEBUG=true default: all clean: - rm -rf Release/*.o - rm -rf Release/sdk/*.o - rm -rf Release/$(BINARY) - rm -rf Debug/*.o - rm -rf Debug/sdk/*.o - rm -rf Debug/$(BINARY) + rm -rf $(BIN_DIR)/*.o + rm -rf $(BIN_DIR)/$(BINARY) diff --git a/loader/msvc8/loader.vcproj b/loader/msvc8/loader.vcproj index 1188ff0e..334cdc46 100644 --- a/loader/msvc8/loader.vcproj +++ b/loader/msvc8/loader.vcproj @@ -40,7 +40,7 @@ - - &1 | cut -b1) +ifeq "$(GCC_VERSION)" "4" + CFLAGS += $(C_GCC4_FLAGS) + CPPFLAGS += $(CPP_GCC4_FLAGS) +endif + +BINARY = $(PROJECT)_i486.so + +OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o) + +$(BIN_DIR)/%.o: %.cpp + $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< + +all: check + mkdir -p $(BIN_DIR) + ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so; + ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so; + $(MAKE) -f Makefile mms_ext + +check: + if [ "$(ENGSET)" == "false" ]; then \ + echo "You must supply ENGINE=orangebox or ENGINE=original"; \ + exit 1; \ + fi + +mms_ext: check $(OBJ_LINUX) + $(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) + +debug: + $(MAKE) -f Makefile all DEBUG=true + +default: all + +clean: check + rm -rf $(BIN_DIR)/*.o + rm -rf $(BIN_DIR)/$(BINARY) diff --git a/public/mms_sample_ext/Makefile.ep2 b/public/mms_sample_ext/Makefile.ep2 deleted file mode 100644 index 18893901..00000000 --- a/public/mms_sample_ext/Makefile.ep2 +++ /dev/null @@ -1,73 +0,0 @@ -#(C)2004-2008 Metamod:Source Development Team -# Makefile written by David "BAILOPAN" Anderson - -HL2SDK = ../../../hl2sdk-ob -SMM_ROOT = ../../../sourcemm-1.6.0 -SRCDS = ~/srcds/orangebox -SMSDK = .. - -### EDIT BELOW FOR OTHER PROJECTS ### - -OPT_FLAGS = -O3 -funroll-loops -s -pipe -GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden -DEBUG_FLAGS = -g -ggdb3 -CPP = gcc-4.1 -BINARY = stub_mm_i486.so - -HL2PUB = $(HL2SDK)/public - -OBJECTS = stub_mm.cpp sm_ext.cpp sm_sdk_config.cpp stub_util.cpp - -LINK = vstdlib_i486.so tier0_i486.so -static-libgcc - -INCLUDE = -I. -I.. -I$(HL2PUB) -I$(HL2PUB)/dlls -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 \ - -I$(HL2PUB)/tier1 -I$(HL2PUB)/vstdlib -I$(HL2SDK)/tier1 -I$(SMM_ROOT) -I$(SMM_ROOT)/sourcehook \ - -I$(SMM_ROOT)/sourcemm -I$(SMSDK) -I$(SMSDK)/jit -I$(SMSDK)/jit/x86 -I$(SMSDK)/extensions \ - -I$(SMSDK)/sourcepawn - -ifeq "$(DEBUG)" "true" - BIN_DIR = Debug - CFLAGS = $(DEBUG_FLAGS) -else - BIN_DIR = Release - CFLAGS = $(OPT_FLAGS) -endif - -GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1) - -CFLAGS += -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp \ - -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca \ - -Dstrcmpi=strcasecmp -Wall -Wno-non-virtual-dtor -Werror -fPIC -fno-exceptions -fno-rtti -msse \ - -fno-strict-aliasing -DORANGEBOX_BUILD - -ifeq "$(GCC_VERSION)" "4" - CFLAGS += $(GCC4_FLAGS) -endif - -OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o) - -$(BIN_DIR)/%.o: %.cpp - $(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $< - -all: - mkdir -p $(BIN_DIR) - rm -f vstdlib_i486.so - rm -f tier0_i486.so - ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so - ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so - $(MAKE) -f Makefile.orig stub_mm - rm -rf $(BINARY) - -stub_mm: $(OBJ_LINUX) - $(CPP) $(INCLUDE) $(CFLAGS) $(OBJ_LINUX) $(LINK) -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) - -debug: - $(MAKE) -f Makefile.orig all DEBUG=true - -default: all - -clean: - rm -rf Release/*.o - rm -rf Release/$(BINARY) - rm -rf Debug/*.o - rm -rf Debug/$(BINARY) diff --git a/public/mms_sample_ext/Makefile.orig b/public/mms_sample_ext/Makefile.orig deleted file mode 100644 index 62b17db7..00000000 --- a/public/mms_sample_ext/Makefile.orig +++ /dev/null @@ -1,73 +0,0 @@ -#(C)2004-2008 Metamod:Source Development Team -# Makefile written by David "BAILOPAN" Anderson - -HL2SDK = ../../../hl2sdk -SMM_ROOT = ../../../sourcemm-1.4.2 -SRCDS = ~/srcds -SMSDK = .. - -### EDIT BELOW FOR OTHER PROJECTS ### - -OPT_FLAGS = -O3 -funroll-loops -s -pipe -GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden -DEBUG_FLAGS = -g -ggdb3 -CPP = gcc-4.1 -BINARY = stub_mm_i486.so - -HL2PUB = $(HL2SDK)/public - -OBJECTS = stub_mm.cpp sm_ext.cpp sm_sdk_config.cpp stub_util.cpp - -LINK = vstdlib_i486.so tier0_i486.so -static-libgcc - -INCLUDE = -I. -I.. -I$(HL2PUB) -I$(HL2PUB)/dlls -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 \ - -I$(HL2PUB)/tier1 -I$(HL2PUB)/vstdlib -I$(HL2SDK)/tier1 -I$(SMM_ROOT) -I$(SMM_ROOT)/sourcehook \ - -I$(SMM_ROOT)/sourcemm -I$(SMSDK) -I$(SMSDK)/jit -I$(SMSDK)/jit/x86 -I$(SMSDK)/extensions \ - -I$(SMSDK)/sourcepawn - -ifeq "$(DEBUG)" "true" - BIN_DIR = Debug - CFLAGS = $(DEBUG_FLAGS) -else - BIN_DIR = Release - CFLAGS = $(OPT_FLAGS) -endif - -GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1) - -CFLAGS += -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp \ - -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca \ - -Dstrcmpi=strcasecmp -Wall -Wno-non-virtual-dtor -Werror -fPIC -fno-exceptions -fno-rtti -msse \ - -fno-strict-aliasing - -ifeq "$(GCC_VERSION)" "4" - CFLAGS += $(GCC4_FLAGS) -endif - -OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o) - -$(BIN_DIR)/%.o: %.cpp - $(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $< - -all: - mkdir -p $(BIN_DIR) - rm -f vstdlib_i486.so - rm -f tier0_i486.so - ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so - ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so - $(MAKE) -f Makefile.orig stub_mm - rm -rf $(BINARY) - -stub_mm: $(OBJ_LINUX) - $(CPP) $(INCLUDE) $(CFLAGS) $(OBJ_LINUX) $(LINK) -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) - -debug: - $(MAKE) -f Makefile.orig all DEBUG=true - -default: all - -clean: - rm -rf Release/*.o - rm -rf Release/$(BINARY) - rm -rf Debug/*.o - rm -rf Debug/$(BINARY) diff --git a/public/sample_ext/Makefile b/public/sample_ext/Makefile index 748cc788..b52a489e 100644 --- a/public/sample_ext/Makefile +++ b/public/sample_ext/Makefile @@ -1,12 +1,12 @@ -#(C)2004-2008 Metamod:Source Development Team +# (C)2004-2008 SourceMod Development Team # Makefile written by David "BAILOPAN" Anderson +SMSDK = ../.. +SRCDS_BASE = ~/srcds HL2SDK_ORIG = ../../../hl2sdk HL2SDK_OB = ../../../hl2sdk-ob SOURCEMM14 = ../../../sourcemm-1.4 SOURCEMM16 = ../../../sourcemm-1.6 -SRCDS_BASE = ~/srcds -SMSDK = ../.. ##################################### ### EDIT BELOW FOR OTHER PROJECTS ### @@ -25,7 +25,8 @@ OBJECTS = sdk/smsdk_ext.cpp extension.cpp C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -s -pipe -fno-strict-aliasing C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3 -CPP_GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden +C_GCC4_FLAGS = -fvisibility=hidden +CPP_GCC4_FLAGS = -fvisibility-inlines-hidden CPP = gcc-4.1 override ENGSET = false @@ -44,7 +45,7 @@ ifeq "$(ENGINE)" "orangebox" HL2LIB = $(HL2SDK_OB)/linux_sdk CFLAGS += -DORANGEBOX_BUILD METAMOD = $(SOURCEMM16) - INCLUDE += -I$(HL2SDK)/public/game/server -I$(HL2SDK)/common + INCLUDE += -I$(HL2SDK)/public/game/server SRCDS = $(SRCDS_BASE)/orangebox override ENGSET = true endif @@ -55,10 +56,10 @@ ifeq "$(USEMETA)" "true" LINK += $(LINK_HL2) INCLUDE += -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \ - -I$(HL2PUB)/vstdlib -I$(HL2SDK)/tier1 -I$(METAMOD) -I$(METAMOD)/sourcehook -I$(METAMOD)/sourcemm \ - -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(SMSDK)/public/extensions + -I$(METAMOD) -I$(METAMOD)/sourcehook -I$(METAMOD)/sourcemm -I$(SMSDK)/public \ + -I$(SMSDK)/public/sourcepawn else - INCLUDE += -I. -I.. -Isdk -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(SMSDK)/public/extensions + INCLUDE += -I. -I.. -Isdk -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn endif LINK += -static-libgcc @@ -66,7 +67,7 @@ LINK += -static-libgcc CFLAGS += -D_LINUX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \ -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror -Wno-switch \ -Wno-unused -mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32 -CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti -fno-threadsafe-statics +CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti ################################################ ### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ### @@ -86,6 +87,7 @@ endif GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1) ifeq "$(GCC_VERSION)" "4" + CFLAGS += $(C_GCC4_FLAGS) CPPFLAGS += $(CPP_GCC4_FLAGS) endif diff --git a/public/sample_ext/msvc8/sdk.vcproj b/public/sample_ext/msvc8/sdk.vcproj index d733f71e..d0ad2229 100644 --- a/public/sample_ext/msvc8/sdk.vcproj +++ b/public/sample_ext/msvc8/sdk.vcproj @@ -201,7 +201,7 @@ &1 | cut -b1) - -ifeq "$(GCC_VERSION)" "4" - OPT_CPP_FLAGS += -fvisibility=hidden -fvisibility-inlines-hidden -endif - -ifeq "$(DEBUG)" "true" - BIN_DIR = Debug - CFLAGS = $(DEBUG_C_FLAGS) -else - BIN_DIR = Release - CFLAGS = $(OPT_C_FLAGS) - CPPFLAGS += $(OPT_CPP_FLAGS) -endif - -CFLAGS += -DLINUX -DNDEBUG -DHAVE_STDINT_H -DAMX_ANSIONLY -DENABLE_BINRELOC -m32 -CPPFLAGS += -Wno-deprecated -fno-exceptions -fno-rtti - -OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o) -OBJ_LINUX := $(OBJECTS:%.c=$(BIN_DIR)/%.o) - -$(BIN_DIR)/%.o: %.cpp - $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< - -$(BIN_DIR)/%.o: %.c - $(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $< - -all: - mkdir -p $(BIN_DIR)/zlib - $(MAKE) spcomp - -spcomp: $(OBJ_LINUX) - $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) $(OBJ_LINUX) $(LINK) -m32 -ldl -lm -o$(BIN_DIR)/$(BINARY) - -debug: - $(MAKE) all DEBUG=true - -default: all - -clean: - rm -rf Release/*.o - rm -rf Release/$(BINARY) - rm -rf Debug/*.o - rm -rf Debug/$(BINARY) - +# (C)2004-2008 SourceMod Development Team +# Makefile written by David "BAILOPAN" Anderson + +SMSDK = ../.. + +##################################### +### EDIT BELOW FOR OTHER PROJECTS ### +##################################### + +BINARY = spcomp + +OBJECTS = binreloc.c libpawnc.c lstring.c memfile.c pawncc.c sc1.c sc2.c sc3.c sc4.c \ + sc5.c sc6.c sc7.c scexpand.c sci18n.c sclist.c scmemfil.c scstate.c sctracker.c \ + scvars.c sp_file.c +OBJECTS += zlib/adler32.c zlib/compress.c zlib/crc32.c zlib/deflate.c zlib/gzio.c \ + zlib/infback.c zlib/inffast.c zlib/inflate.c zlib/inftrees.c zlib/trees.c \ + zlib/uncompr.c zlib/zutil.c + +############################################## +### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ### +############################################## + +C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -s -pipe -fno-strict-aliasing -fomit-frame-pointer +C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3 +C_GCC4_FLAGS = -fvisibility=hidden +CPP_GCC4_FLAGS = -fvisibility-inlines-hidden +CPP = gcc-4.1 + +LINK = -lgcc -static-libgcc + +INCLUDE = -I. -I$(SMSDK)/public/sourcepawn + +CFLAGS += -DLINUX -DNDEBUG -DHAVE_STDINT_H -DAMX_ANSIONLY -DENABLE_BINRELOC -m32 +CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti + +################################################ +### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ### +################################################ + +ifeq "$(DEBUG)" "true" + BIN_DIR = Debug + CFLAGS += $(C_DEBUG_FLAGS) +else + BIN_DIR = Release + CFLAGS += $(C_OPT_FLAGS) +endif + +GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1) +ifeq "$(GCC_VERSION)" "4" + CFLAGS += $(C_GCC4_FLAGS) + CPPFLAGS += $(CPP_GCC4_FLAGS) +endif + +OBJ_LINUX := $(OBJECTS:%.c=$(BIN_DIR)/%.o) + +$(BIN_DIR)/%.o: %.c + $(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $< + +all: + mkdir -p $(BIN_DIR)/zlib + $(MAKE) -f Makefile compiler + +compiler: $(OBJ_LINUX) + $(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -m32 -ldl -lm -o$(BIN_DIR)/$(BINARY) + +debug: + $(MAKE) -f Makefile all DEBUG=true + +default: all + +clean: + rm -rf $(BIN_DIR)/*.o + rm -rf $(BIN_DIR)/zlib/*.o + rm -rf $(BIN_DIR)/$(BINARY) diff --git a/sourcepawn/jit/x86/Makefile b/sourcepawn/jit/x86/Makefile index 9ba72d91..2a5cf89f 100644 --- a/sourcepawn/jit/x86/Makefile +++ b/sourcepawn/jit/x86/Makefile @@ -1,69 +1,73 @@ -#(C)2004-2008 Metamod:Source Development Team -# Makefile written by David "BAILOPAN" Anderson - -SRCDS = ~/srcds -SMSDK = ../../.. - -### EDIT BELOW FOR OTHER PROJECTS ### - -OPT_FLAGS = -O3 -funroll-loops -s -pipe -fno-strict-aliasing -GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden -DEBUG_FLAGS = -g -ggdb3 -CPP = gcc-4.1 -BINARY = sourcepawn.jit.x86.so - -HL2PUB = $(HL2SDK)/public -HL2LIB = $(HL2SDK)/linux_sdk - -OBJECTS = dll_exports.cpp jit_x86.cpp opcode_helpers.cpp - -LINK = -static-libgcc - -INCLUDE = -I. -I.. -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn \ - -I$(SMSDK)/public/jit -I$(SMSDK)/public/jit/x86 - -ifeq "$(DEBUG)" "true" - BIN_DIR = Debug - CFLAGS = $(DEBUG_FLAGS) -else - BIN_DIR = Release - CFLAGS = $(OPT_FLAGS) -endif - -GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1) - -CFLAGS += -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp \ - -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca \ - -Dstrcmpi=strcasecmp -Wall -Wno-non-virtual-dtor -Werror -fno-exceptions -fno-rtti \ - -DHAVE_STDINT_H -m32 - -ifeq "$(GCC_VERSION)" "4" - CFLAGS += $(GCC4_FLAGS) -endif - -OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o) - -$(BIN_DIR)/%.o: %.cpp - $(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $< - -all: - mkdir -p $(BIN_DIR) - ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so - ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so - $(MAKE) binary - rm -rf $(BINARY) - ln -sf $(BIN_DIR)/$(BINARY) $(BINARY) - -binary: $(OBJ_LINUX) - $(CPP) $(INCLUDE) $(CFLAGS) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) - -debug: - $(MAKE) all DEBUG=true - -default: all - -clean: - rm -rf Release/*.o - rm -rf Release/$(BINARY) - rm -rf Debug/*.o - rm -rf Debug/$(BINARY) +# (C)2004-2008 SourceMod Development Team +# Makefile written by David "BAILOPAN" Anderson + +SMSDK = ../../.. + +##################################### +### EDIT BELOW FOR OTHER PROJECTS ### +##################################### + +PROJECT = sourcepawn.jit.x86 + +OBJECTS = dll_exports.cpp jit_x86.cpp opcode_helpers.cpp + +############################################## +### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ### +############################################## + +C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -s -pipe -fno-strict-aliasing +C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3 +C_GCC4_FLAGS = -fvisibility=hidden +CPP_GCC4_FLAGS = -fvisibility-inlines-hidden +CPP = gcc-4.1 + +LINK = -static-libgcc + +INCLUDE = -I. -I.. -I$(SMSDK)/public -I$(SMSDK)/public/jit -I$(SMSDK)/public/jit/x86 \ + -I$(SMSDK)/public/sourcepawn + +CFLAGS += -D_LINUX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \ + -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -DHAVE_STDINT_H \ + -m32 +CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti + +################################################ +### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ### +################################################ + +ifeq "$(DEBUG)" "true" + BIN_DIR = Debug + CFLAGS += $(C_DEBUG_FLAGS) +else + BIN_DIR = Release + CFLAGS += $(C_OPT_FLAGS) +endif + +GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1) +ifeq "$(GCC_VERSION)" "4" + CFLAGS += $(C_GCC4_FLAGS) + CPPFLAGS += $(CPP_GCC4_FLAGS) +endif + +BINARY = $(PROJECT).so + +OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o) + +$(BIN_DIR)/%.o: %.cpp + $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< + +all: + mkdir -p $(BIN_DIR) + $(MAKE) -f Makefile jit + +jit: $(OBJ_LINUX) + $(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) + +debug: + $(MAKE) -f Makefile all DEBUG=true + +default: all + +clean: + rm -rf $(BIN_DIR)/*.o + rm -rf $(BIN_DIR)/$(BINARY)