251cced1f8
Various minor things done to project files Updated sample extension project file and updated makefile to the new unified version (more changes likely on the way) Updated regex project file and makefile --HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401971
74 lines
2.0 KiB
Makefile
74 lines
2.0 KiB
Makefile
#(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)
|