aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile113
1 files changed, 113 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..5f017f6
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,113 @@
+# (C)2004-2008 SourceMod Development Team
+# Makefile written by David "BAILOPAN" Anderson
+
+SMSDK = ../..
+SRCDS_BASE = ~/srcds
+MMSOURCE17 = ../../../mmsource-central
+
+#####################################
+### EDIT BELOW FOR OTHER PROJECTS ###
+#####################################
+
+PROJECT = curl
+
+#Uncomment for Metamod: Source enabled extension
+USEMETA = false
+
+OBJECTS = \
+ sdk/smsdk_ext.cpp \
+ extension.cpp \
+ curlmanager.cpp \
+ curlthread.cpp \
+ natives.cpp \
+ opensslmanager.cpp \
+ opensslthread.cpp
+
+##############################################
+### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ###
+##############################################
+
+C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -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
+
+
+METAMOD = $(MMSOURCE17)/core-legacy
+
+INCLUDE += -I. -I.. -Isdk -I../ \
+ -I$(METAMOD)/sourcehook -I$(SMSDK)/public -I$(SMSDK)/public/extensions \
+ -I$(SMSDK)/public/sourcepawn \
+ -I/opt/Source/lib/openssl/include \
+
+CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 -DSE_LEFT4DEAD=5 -DSE_LEFT4DEAD2=6
+
+CFLAGS += -DCURL_STATIC_LIB
+
+LINK += -L./lib -lcurl -lrt -lssh2 -lssl -lcrypto -lz
+
+LINK += -m32 -ldl -lm
+
+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
+
+################################################
+### 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
+
+ifeq "$(USEMETA)" "true"
+ BIN_DIR := $(BIN_DIR).$(ENGINE)
+endif
+
+OS := $(shell uname -s)
+ifeq "$(OS)" "Darwin"
+ LINK += -dynamiclib
+ BINARY = $(PROJECT).ext.dylib
+else
+ LINK += -static-libgcc -shared
+ BINARY = $(PROJECT).ext.so
+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:%.cpp=$(BIN_DIR)/%.o)
+
+$(BIN_DIR)/%.o: %.cpp
+ $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
+
+all: check
+ mkdir -p $(BIN_DIR)/sdk
+
+ $(MAKE) -f Makefile extension
+
+check:
+
+
+extension: check $(OBJ_LINUX)
+ $(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -o $(BIN_DIR)/$(BINARY)
+
+debug:
+ $(MAKE) -f Makefile all DEBUG=true
+
+default: all
+
+clean: check
+ rm -rf $(BIN_DIR)/*.o
+ rm -rf $(BIN_DIR)/sdk/*.o
+ rm -rf $(BIN_DIR)/$(BINARY)