| author | David Anderson <dvander@alliedmods.net> |
| Fri Jun 08 03:50:23 2007 +0000 (2007-06-08) | |
| changeset 925 | 2cd3d817b5ab |
| parent 707 | 5ed575d60344 |
| child 1850 | 2ebeb67b09a8 |
| child 1930 | 12f08d51439c |
| permissions | -rw-r--r-- |
| dvander@350 | 1 |
#(C)2004-2006 SourceMM Development Team |
| dvander@350 | 2 |
# Makefile written by David "BAILOPAN" Anderson |
| dvander@350 | 3 |
|
| dvander@350 | 4 |
SRCDS = ~/srcds |
| dvander@350 | 5 |
SMSDK = ../../.. |
| dvander@350 | 6 |
|
| dvander@350 | 7 |
### EDIT BELOW FOR OTHER PROJECTS ### |
| dvander@350 | 8 |
|
| dvander@350 | 9 |
OPT_FLAGS = -O3 -funroll-loops -s -pipe -fno-strict-aliasing |
| dvander@350 | 10 |
GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden |
| dvander@350 | 11 |
DEBUG_FLAGS = -g -ggdb3 |
| dvander@350 | 12 |
CPP = gcc-4.1 |
| dvander@350 | 13 |
BINARY = sourcepawn.jit.x86.so |
| dvander@350 | 14 |
|
| dvander@350 | 15 |
HL2PUB = $(HL2SDK)/public |
| dvander@350 | 16 |
HL2LIB = $(HL2SDK)/linux_sdk |
| dvander@350 | 17 |
|
| dvander@350 | 18 |
OBJECTS = dll_exports.cpp jit_x86.cpp opcode_helpers.cpp |
| dvander@350 | 19 |
|
| dvander@350 | 20 |
LINK = -static-libgcc |
| dvander@350 | 21 |
|
| dvander@707 | 22 |
INCLUDE = -I. -I.. -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn \ |
| dvander@707 | 23 |
-I$(SMSDK)/public/jit -I$(SMSDK)/public/jit/x86 |
| dvander@350 | 24 |
|
| dvander@350 | 25 |
ifeq "$(DEBUG)" "true" |
| dvander@350 | 26 |
BIN_DIR = Debug |
| dvander@350 | 27 |
CFLAGS = $(DEBUG_FLAGS) |
| dvander@350 | 28 |
else |
| dvander@350 | 29 |
BIN_DIR = Release |
| dvander@350 | 30 |
CFLAGS = $(OPT_FLAGS) |
| dvander@350 | 31 |
endif |
| dvander@350 | 32 |
|
| dvander@350 | 33 |
GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1) |
| dvander@350 | 34 |
|
| dvander@350 | 35 |
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 -DHAVE_STDINT_H |
| dvander@350 | 36 |
|
| dvander@350 | 37 |
ifeq "$(GCC_VERSION)" "4" |
| dvander@350 | 38 |
CFLAGS += $(GCC4_FLAGS) |
| dvander@350 | 39 |
endif |
| dvander@350 | 40 |
|
| dvander@350 | 41 |
OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o) |
| dvander@350 | 42 |
|
| dvander@350 | 43 |
$(BIN_DIR)/%.o: %.cpp |
| dvander@350 | 44 |
$(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $< |
| dvander@350 | 45 |
|
| dvander@350 | 46 |
all: |
| dvander@350 | 47 |
mkdir -p $(BIN_DIR) |
| dvander@350 | 48 |
ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so |
| dvander@350 | 49 |
ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so |
| dvander@350 | 50 |
$(MAKE) binary |
| dvander@350 | 51 |
rm -rf $(BINARY) |
| dvander@350 | 52 |
ln -sf $(BIN_DIR)/$(BINARY) $(BINARY) |
| dvander@350 | 53 |
|
| dvander@350 | 54 |
binary: $(OBJ_LINUX) |
| dvander@350 | 55 |
$(CPP) $(INCLUDE) $(CFLAGS) $(OBJ_LINUX) $(LINK) -shared -ldl -lm -o$(BIN_DIR)/$(BINARY) |
| dvander@350 | 56 |
|
| dvander@350 | 57 |
debug: |
| dvander@350 | 58 |
$(MAKE) all DEBUG=true |
| dvander@350 | 59 |
|
| dvander@350 | 60 |
default: all |
| dvander@350 | 61 |
|
| dvander@350 | 62 |
clean: |
| dvander@350 | 63 |
rm -rf Release/*.o |
| dvander@350 | 64 |
rm -rf Release/$(BINARY) |
| dvander@350 | 65 |
rm -rf Debug/*.o |
| dvander@350 | 66 |
rm -rf Debug/$(BINARY) |