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
70 lines
1.7 KiB
Makefile
70 lines
1.7 KiB
Makefile
#(C)2004-2008 Metamod:Source Development Team
|
|
# Makefile written by David "BAILOPAN" Anderson
|
|
|
|
SRCDS = ~/srcds
|
|
SMSDK = ../../..
|
|
|
|
### EDIT BELOW FOR OTHER PROJECTS ###
|
|
|
|
OPT_FLAGS = -O3 -funroll-loops -s -pipe -fno-strict-aliasing
|
|
GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden
|
|
DEBUG_FLAGS = -g -ggdb3
|
|
CPP = gcc-4.1
|
|
BINARY = sourcepawn.jit.x86.so
|
|
|
|
HL2PUB = $(HL2SDK)/public
|
|
HL2LIB = $(HL2SDK)/linux_sdk
|
|
|
|
OBJECTS = dll_exports.cpp jit_x86.cpp opcode_helpers.cpp
|
|
|
|
LINK = -static-libgcc
|
|
|
|
INCLUDE = -I. -I.. -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn \
|
|
-I$(SMSDK)/public/jit -I$(SMSDK)/public/jit/x86
|
|
|
|
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 -fno-exceptions -fno-rtti \
|
|
-DHAVE_STDINT_H -m32
|
|
|
|
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)
|
|
ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so
|
|
ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so
|
|
$(MAKE) binary
|
|
rm -rf $(BINARY)
|
|
ln -sf $(BIN_DIR)/$(BINARY) $(BINARY)
|
|
|
|
binary: $(OBJ_LINUX)
|
|
$(CPP) $(INCLUDE) $(CFLAGS) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY)
|
|
|
|
debug:
|
|
$(MAKE) all DEBUG=true
|
|
|
|
default: all
|
|
|
|
clean:
|
|
rm -rf Release/*.o
|
|
rm -rf Release/$(BINARY)
|
|
rm -rf Debug/*.o
|
|
rm -rf Debug/$(BINARY)
|