blob: fc523b4ff8dfce3e481d29a101a0ad8afd208be1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
# (C)2004-2008 SourceMod Development Team
# Makefile written by David "BAILOPAN" Anderson
#SMSDK = ../..
SMSDK = ../build/sm-1.11
# SRCDS_BASE = ~/srcds
# MMSOURCE17 = ../../../mmsource-central
MMSOURCE17 = ../build/mm-1.11
#####################################
### 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 -g -ggdb
C_DEBUG_FLAGS = -D_DEBUG -DDEBUG
C_GCC4_FLAGS = -fvisibility=hidden
CPP_GCC4_FLAGS = -fvisibility-inlines-hidden
CPP = gcc
METAMOD = $(MMSOURCE17)/core-legacy
# yes yes i know i will clean it up later
INCLUDE += -I. -I.. -Isdk -I../ \
-I$(MMSOURCE17)/core/sourcehook \
-I$(SMSDK)/public \
-I$(SMSDK)/public/extensions \
-I$(SMSDK)/sourcepawn/include \
-I$(SMSDK)/sourcepawn \
-I$(SMSDK)/public/amtl/amtl \
-I$(SMSDK)/public/amtl/ \
-I/opt/Source/lib/openssl/include
# ../alliedmodders/mmsource-1.12
# -I$(METAMOD)/sourcehook \
# -I$(SMSDK)/public/sourcepawn \
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 -lnghttp2 -lngtcp2 -lbrotlidec-static -lbrotlienc-static -lbrotlicommon-static -lzstd -lgsasl
LINK += -m32 -ldl -lm -L/usr/lib32 -lstdc++
# -static
# #-lgsasl
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-switch \
-Wno-unused -mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32
# -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror -Wno-switch \
#CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti -fno-threadsafe-statics
CPPFLAGS += -fno-exceptions -fno-rtti -fno-threadsafe-statics
#-fabi-compat-version=3
################################################
### 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)
|