mirror of
https://github.com/alliedmodders/metamod-source.git
synced 2025-02-26 19:54:14 +01:00
Update stub and sample Makefiles to build 64-bit binaries for CSGO on macOS.
This commit is contained in:
parent
9e3cd1b824
commit
70fb7e2d68
@ -85,7 +85,11 @@ OS := $(shell uname -s)
|
|||||||
|
|
||||||
ifeq "$(OS)" "Darwin"
|
ifeq "$(OS)" "Darwin"
|
||||||
LIB_EXT = dylib
|
LIB_EXT = dylib
|
||||||
HL2LIB = $(HL2SDK)/lib/mac
|
ifeq "$(ENGINE)" "csgo"
|
||||||
|
HL2LIB = $(HL2SDK)/lib/osx64
|
||||||
|
else
|
||||||
|
HL2LIB = $(HL2SDK)/lib/mac
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
LIB_EXT = so
|
LIB_EXT = so
|
||||||
ifeq "$(ENGINE)" "original"
|
ifeq "$(ENGINE)" "original"
|
||||||
@ -111,14 +115,25 @@ else
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq "$(OS)" "Darwin"
|
||||||
|
ifeq "$(ENGINE)" "csgo"
|
||||||
|
STATIC_SUFFIX =
|
||||||
|
LIB_SUFFIX = .x64.$(LIB_EXT)
|
||||||
|
else
|
||||||
|
STATIC_SUFFIX = _i486
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
STATIC_SUFFIX = _i486
|
||||||
|
endif
|
||||||
|
|
||||||
CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_BLOODYGOODTIME=4 -DSE_EYE=5 \
|
CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_BLOODYGOODTIME=4 -DSE_EYE=5 \
|
||||||
-DSE_CSS=6 -DSE_ORANGEBOXVALVE=7 -DSE_LEFT4DEAD=8 -DSE_LEFT4DEAD2=9 -DSE_ALIENSWARM=10 \
|
-DSE_CSS=6 -DSE_ORANGEBOXVALVE=7 -DSE_LEFT4DEAD=8 -DSE_LEFT4DEAD2=9 -DSE_ALIENSWARM=10 \
|
||||||
-DSE_PORTAL2=11 -DSE_CSGO=12
|
-DSE_PORTAL2=11 -DSE_CSGO=12
|
||||||
|
|
||||||
LINK += $(HL2LIB)/tier1_i486.a $(LIB_PREFIX)vstdlib$(LIB_SUFFIX) $(LIB_PREFIX)tier0$(LIB_SUFFIX)
|
LINK += $(HL2LIB)/tier1$(STATIC_SUFFIX).a $(LIB_PREFIX)vstdlib$(LIB_SUFFIX) $(LIB_PREFIX)tier0$(LIB_SUFFIX)
|
||||||
|
|
||||||
ifeq "$(ENGINE)" "csgo"
|
ifeq "$(ENGINE)" "csgo"
|
||||||
LINK += $(HL2LIB)/interfaces_i486.a
|
LINK += $(HL2LIB)/interfaces$(STATIC_SUFFIX).a
|
||||||
endif
|
endif
|
||||||
|
|
||||||
INCLUDE += -I. -I.. -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/mathlib -I$(HL2PUB)/vstdlib \
|
INCLUDE += -I. -I.. -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/mathlib -I$(HL2PUB)/vstdlib \
|
||||||
@ -141,12 +156,19 @@ endif
|
|||||||
ifeq "$(OS)" "Darwin"
|
ifeq "$(OS)" "Darwin"
|
||||||
CPP = $(CPP_OSX)
|
CPP = $(CPP_OSX)
|
||||||
LIB_EXT = dylib
|
LIB_EXT = dylib
|
||||||
CFLAGS += -DOSX -D_OSX
|
CFLAGS += -DOSX -D_OSX -mmacosx-version-min=10.9
|
||||||
LINK += -dynamiclib -lstdc++ -mmacosx-version-min=10.5
|
LINK += -dynamiclib -lc++ -mmacosx-version-min=10.9
|
||||||
|
ifeq "$(ENGINE)" "csgo"
|
||||||
|
CFLAGS += -m64 -DX64BITS -DPLATFORM_64BITS
|
||||||
|
LINK += -m64
|
||||||
|
else
|
||||||
|
CFLAGS += -m32
|
||||||
|
LINK += -m32
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
LIB_EXT = so
|
LIB_EXT = so
|
||||||
CFLAGS += -D_LINUX
|
CFLAGS += -D_LINUX -m32
|
||||||
LINK += -shared
|
LINK += -shared -m32
|
||||||
endif
|
endif
|
||||||
|
|
||||||
IS_CLANG := $(shell $(CPP) --version | head -1 | grep clang > /dev/null && echo "1" || echo "0")
|
IS_CLANG := $(shell $(CPP) --version | head -1 | grep clang > /dev/null && echo "1" || echo "0")
|
||||||
@ -162,7 +184,7 @@ endif
|
|||||||
CFLAGS += -DPOSIX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp \
|
CFLAGS += -DPOSIX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp \
|
||||||
-Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca \
|
-Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca \
|
||||||
-Dstrcmpi=strcasecmp -DCOMPILER_GCC -Wall -Wno-non-virtual-dtor -Wno-overloaded-virtual \
|
-Dstrcmpi=strcasecmp -DCOMPILER_GCC -Wall -Wno-non-virtual-dtor -Wno-overloaded-virtual \
|
||||||
-Werror -fPIC -fno-exceptions -fno-rtti -msse -m32 -fno-strict-aliasing
|
-Werror -fPIC -fno-exceptions -fno-rtti -msse -fno-strict-aliasing
|
||||||
|
|
||||||
# Clang || GCC >= 4
|
# Clang || GCC >= 4
|
||||||
ifeq "$(shell expr $(IS_CLANG) \| $(CPP_MAJOR) \>= 4)" "1"
|
ifeq "$(shell expr $(IS_CLANG) \| $(CPP_MAJOR) \>= 4)" "1"
|
||||||
@ -171,7 +193,7 @@ endif
|
|||||||
|
|
||||||
# Clang >= 3 || GCC >= 4.7
|
# Clang >= 3 || GCC >= 4.7
|
||||||
ifeq "$(shell expr $(IS_CLANG) \& $(CPP_MAJOR) \>= 3 \| $(CPP_MAJOR) \>= 4 \& $(CPP_MINOR) \>= 7)" "1"
|
ifeq "$(shell expr $(IS_CLANG) \& $(CPP_MAJOR) \>= 3 \| $(CPP_MAJOR) \>= 4 \& $(CPP_MINOR) \>= 7)" "1"
|
||||||
CFLAGS += -Wno-delete-non-virtual-dtor
|
CFLAGS += -Wno-delete-non-virtual-dtor -Wno-unused-private-field -Wno-deprecated-register
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# OS is Linux and not using clang
|
# OS is Linux and not using clang
|
||||||
@ -198,7 +220,7 @@ check:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
sample_mm: check $(OBJ_BIN)
|
sample_mm: check $(OBJ_BIN)
|
||||||
$(CPP) $(INCLUDE) -m32 $(OBJ_BIN) $(LINK) -ldl -lm -o $(BIN_DIR)/$(BINARY)
|
$(CPP) $(INCLUDE) $(OBJ_BIN) $(LINK) -ldl -lm -o $(BIN_DIR)/$(BINARY)
|
||||||
|
|
||||||
default: all
|
default: all
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ OBJECTS = stub_mm.cpp
|
|||||||
##############################################
|
##############################################
|
||||||
|
|
||||||
OPT_FLAGS = -O3 -funroll-loops -pipe
|
OPT_FLAGS = -O3 -funroll-loops -pipe
|
||||||
GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden
|
GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden -std=c++11
|
||||||
DEBUG_FLAGS = -g -ggdb3 -D_DEBUG
|
DEBUG_FLAGS = -g -ggdb3 -D_DEBUG
|
||||||
CPP = gcc
|
CPP = gcc
|
||||||
CPP_OSX = clang
|
CPP_OSX = clang
|
||||||
@ -85,7 +85,11 @@ OS := $(shell uname -s)
|
|||||||
|
|
||||||
ifeq "$(OS)" "Darwin"
|
ifeq "$(OS)" "Darwin"
|
||||||
LIB_EXT = dylib
|
LIB_EXT = dylib
|
||||||
HL2LIB = $(HL2SDK)/lib/mac
|
ifeq "$(ENGINE)" "csgo"
|
||||||
|
HL2LIB = $(HL2SDK)/lib/osx64
|
||||||
|
else
|
||||||
|
HL2LIB = $(HL2SDK)/lib/mac
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
LIB_EXT = so
|
LIB_EXT = so
|
||||||
ifeq "$(ENGINE)" "original"
|
ifeq "$(ENGINE)" "original"
|
||||||
@ -111,14 +115,24 @@ else
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq "$(OS)" "Darwin"
|
||||||
|
ifeq "$(ENGINE)" "csgo"
|
||||||
|
STATIC_SUFFIX =
|
||||||
|
else
|
||||||
|
STATIC_SUFFIX = _i486
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
STATIC_SUFFIX = _i486
|
||||||
|
endif
|
||||||
|
|
||||||
CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_BLOODYGOODTIME=4 -DSE_EYE=5 \
|
CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_BLOODYGOODTIME=4 -DSE_EYE=5 \
|
||||||
-DSE_CSS=6 -DSE_ORANGEBOXVALVE=7 -DSE_LEFT4DEAD=8 -DSE_LEFT4DEAD2=9 -DSE_ALIENSWARM=10 \
|
-DSE_CSS=6 -DSE_ORANGEBOXVALVE=7 -DSE_LEFT4DEAD=8 -DSE_LEFT4DEAD2=9 -DSE_ALIENSWARM=10 \
|
||||||
-DSE_PORTAL2=11 -DSE_CSGO=12
|
-DSE_PORTAL2=11 -DSE_CSGO=12
|
||||||
|
|
||||||
LINK += $(HL2LIB)/tier1_i486.a $(LIB_PREFIX)vstdlib$(LIB_SUFFIX) $(LIB_PREFIX)tier0$(LIB_SUFFIX)
|
LINK += $(HL2LIB)/tier1$(STATIC_SUFFIX).a $(LIB_PREFIX)vstdlib$(LIB_SUFFIX) $(LIB_PREFIX)tier0$(LIB_SUFFIX)
|
||||||
|
|
||||||
ifeq "$(ENGINE)" "csgo"
|
ifeq "$(ENGINE)" "csgo"
|
||||||
LINK += $(HL2LIB)/interfaces_i486.a
|
LINK += $(HL2LIB)/interfaces$(STATIC_SUFFIX).a
|
||||||
endif
|
endif
|
||||||
|
|
||||||
INCLUDE += -I. -I.. -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/mathlib -I$(HL2PUB)/vstdlib \
|
INCLUDE += -I. -I.. -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/mathlib -I$(HL2PUB)/vstdlib \
|
||||||
@ -138,16 +152,22 @@ else
|
|||||||
CFLAGS += $(OPT_FLAGS)
|
CFLAGS += $(OPT_FLAGS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
ifeq "$(OS)" "Darwin"
|
ifeq "$(OS)" "Darwin"
|
||||||
CPP = $(CPP_OSX)
|
CPP = $(CPP_OSX)
|
||||||
LIB_EXT = dylib
|
LIB_EXT = dylib
|
||||||
CFLAGS += -DOSX -D_OSX
|
CFLAGS += -DOSX -D_OSX -mmacosx-version-min=10.9
|
||||||
LINK += -dynamiclib -lstdc++ -mmacosx-version-min=10.5
|
LINK += -dynamiclib -lc++ -mmacosx-version-min=10.9
|
||||||
|
ifeq "$(ENGINE)" "csgo"
|
||||||
|
CFLAGS += -m64 -DX64BITS -DPLATFORM_64BITS
|
||||||
|
LINK += -m64
|
||||||
|
else
|
||||||
|
CFLAGS += -m32
|
||||||
|
LINK += -m32
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
LIB_EXT = so
|
LIB_EXT = so
|
||||||
CFLAGS += -D_LINUX
|
CFLAGS += -D_LINUX -m32
|
||||||
LINK += -shared
|
LINK += -shared -m32
|
||||||
endif
|
endif
|
||||||
|
|
||||||
IS_CLANG := $(shell $(CPP) --version | head -1 | grep clang > /dev/null && echo "1" || echo "0")
|
IS_CLANG := $(shell $(CPP) --version | head -1 | grep clang > /dev/null && echo "1" || echo "0")
|
||||||
@ -163,7 +183,7 @@ endif
|
|||||||
CFLAGS += -DPOSIX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp \
|
CFLAGS += -DPOSIX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp \
|
||||||
-Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca \
|
-Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca \
|
||||||
-Dstrcmpi=strcasecmp -DCOMPILER_GCC -Wall -Wno-non-virtual-dtor -Wno-overloaded-virtual \
|
-Dstrcmpi=strcasecmp -DCOMPILER_GCC -Wall -Wno-non-virtual-dtor -Wno-overloaded-virtual \
|
||||||
-Werror -fPIC -fno-exceptions -fno-rtti -msse -m32 -fno-strict-aliasing
|
-Werror -fPIC -fno-exceptions -fno-rtti -msse -fno-strict-aliasing
|
||||||
|
|
||||||
# Clang || GCC >= 4
|
# Clang || GCC >= 4
|
||||||
ifeq "$(shell expr $(IS_CLANG) \| $(CPP_MAJOR) \>= 4)" "1"
|
ifeq "$(shell expr $(IS_CLANG) \| $(CPP_MAJOR) \>= 4)" "1"
|
||||||
@ -172,7 +192,7 @@ endif
|
|||||||
|
|
||||||
# Clang >= 3 || GCC >= 4.7
|
# Clang >= 3 || GCC >= 4.7
|
||||||
ifeq "$(shell expr $(IS_CLANG) \& $(CPP_MAJOR) \>= 3 \| $(CPP_MAJOR) \>= 4 \& $(CPP_MINOR) \>= 7)" "1"
|
ifeq "$(shell expr $(IS_CLANG) \& $(CPP_MAJOR) \>= 3 \| $(CPP_MAJOR) \>= 4 \& $(CPP_MINOR) \>= 7)" "1"
|
||||||
CFLAGS += -Wno-delete-non-virtual-dtor
|
CFLAGS += -Wno-delete-non-virtual-dtor -Wno-unused-private-field -Wno-deprecated-register
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# OS is Linux and not using clang
|
# OS is Linux and not using clang
|
||||||
@ -199,7 +219,7 @@ check:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
stub_mm: check $(OBJ_BIN)
|
stub_mm: check $(OBJ_BIN)
|
||||||
$(CPP) $(INCLUDE) -m32 $(OBJ_BIN) $(LINK) -ldl -lm -o $(BIN_DIR)/$(BINARY)
|
$(CPP) $(INCLUDE) $(OBJ_BIN) $(LINK) -ldl -lm -o $(BIN_DIR)/$(BINARY)
|
||||||
|
|
||||||
default: all
|
default: all
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user