dvander@2726: # (C)2004-2008 SourceMod Development Team dvander@2726: # Makefile written by David "BAILOPAN" Anderson dvander@2726: dvander@2726: SMSDK = ../.. dvander@2726: MMSOURCE17 = ../../../mmsource-1.7 dvander@2726: dvander@2726: ##################################### dvander@2726: ### EDIT BELOW FOR OTHER PROJECTS ### dvander@2726: ##################################### dvander@2726: dvander@2726: BINARY = sourcemod.logic.so dvander@2726: dvander@2726: OBJECTS = \ dvander@2726: common_logic.cpp \ dvander@2726: smn_adt_array.cpp \ dvander@2726: smn_sorting.cpp \ dvander@2726: smn_maplists.cpp \ dvander@2726: smn_adt_stack.cpp \ dvander@2726: thread/ThreadWorker.cpp \ dvander@2726: thread/BaseWorker.cpp \ dvander@2726: thread/PosixThreads.cpp \ dvander@2726: ThreadSupport.cpp \ dvander@2726: smn_float.cpp \ dvander@2726: TextParsers.cpp \ dvander@2728: smn_textparse.cpp \ dvander@2728: smn_adt_trie.cpp \ dvander@2730: Profiler.cpp \ dvander@2906: smn_functions.cpp \ dvander@2989: sm_crc32.cpp \ dvander@2996: smn_timers.cpp \ dvander@2999: MemoryUtils.cpp \ dvander@3000: smn_admin.cpp \ dvander@3001: smn_banning.cpp \ dvander@3002: stringutil.cpp \ dvander@3004: Translator.cpp \ dvander@3004: PhraseCollection.cpp \ dvander@3004: smn_lang.cpp \ dvander@3006: smn_string.cpp \ dvander@3008: smn_handles.cpp \ dvander@3009: smn_datapacks.cpp \ dvander@3010: smn_gameconfigs.cpp \ dvander@3010: GameConfigs.cpp \ skamonkey@3579: smn_players.cpp \ skamonkey@3579: smn_profiler.cpp dvander@2726: dvander@2726: ############################################## dvander@2726: ### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ### dvander@2726: ############################################## dvander@2726: dvander@2726: C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -pipe -fno-strict-aliasing dvander@2726: C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3 dvander@2726: C_GCC4_FLAGS = -fvisibility=hidden dvander@2726: CPP_GCC4_FLAGS = -fvisibility-inlines-hidden dvander@2726: CPP = gcc dvander@2726: dvander@2726: LINK += -lpthread -static-libgcc dvander@2726: dvander@2726: INCLUDE += -I. -I$(MMSOURCE17)/core/sourcehook -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn dvander@2726: dvander@2726: CFLAGS += -D_LINUX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \ dvander@2726: -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror \ dvander@2726: -Wno-uninitialized -mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -DSM_DEFAULT_THREADER -m32 \ dvander@2726: -DSM_LOGIC dvander@2726: CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti dvander@2726: dvander@2726: ################################################ dvander@2726: ### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ### dvander@2726: ################################################ dvander@2726: dvander@2726: ifeq "$(DEBUG)" "true" dvander@2726: BIN_DIR = Debug dvander@2726: CFLAGS += $(C_DEBUG_FLAGS) dvander@2726: else dvander@2726: BIN_DIR = Release dvander@2726: CFLAGS += $(C_OPT_FLAGS) dvander@2726: endif dvander@2726: dvander@2726: GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1) dvander@2726: ifeq "$(GCC_VERSION)" "4" dvander@2726: CFLAGS += $(C_GCC4_FLAGS) dvander@2726: CPPFLAGS += $(CPP_GCC4_FLAGS) dvander@2726: endif dvander@2726: dvander@2726: OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o) dvander@2726: OBJ_LINUX := $(OBJ_LINUX:%.c=$(BIN_DIR)/%.o) dvander@2726: dvander@2726: $(BIN_DIR)/%.o: %.cpp dvander@2726: $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< dvander@2726: dvander@2726: $(BIN_DIR)/%.o: %.c dvander@2726: $(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $< dvander@2726: dvander@2726: all: dvander@2726: mkdir -p $(BIN_DIR)/thread dvander@2726: $(MAKE) -f Makefile sourcemod dvander@2726: dvander@2726: sourcemod: $(OBJ_LINUX) dvander@2726: $(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o $(BIN_DIR)/$(BINARY) dvander@2726: dvander@2726: debug: dvander@2726: $(MAKE) -f Makefile all DEBUG=true dvander@2726: dvander@2726: default: all dvander@2726: dvander@2726: clean: dvander@2726: rm -rf $(BIN_DIR)/*.o dvander@2726: rm -rf $(BIN_DIR)/thread/*.o dvander@2726: rm -rf $(BIN_DIR)/$(BINARY)