sourcepawn/jit/Makefile.shell
author David Anderson <dvander@alliedmods.net>
Sun Sep 01 00:23:44 2013 -0700 (2013-09-01)
changeset 4116 3e58428d988f
parent 4013 6201c1180e0e
permissions -rw-r--r--
Add an interpreter because. (bug 5902, r=ds).
danderson@3977
     1
# (C)2004-2008 SourceMod Development Team
danderson@3977
     2
# Makefile written by David "BAILOPAN" Anderson
danderson@3977
     3
danderson@3977
     4
SMSDK = ../..
danderson@3977
     5
MMSOURCE17 = ../../../mmsource-1.7
danderson@3977
     6
danderson@3977
     7
#####################################
danderson@3977
     8
### EDIT BELOW FOR OTHER PROJECTS ###
danderson@3977
     9
#####################################
danderson@3977
    10
danderson@3977
    11
PROJECT = spshell
danderson@3977
    12
danderson@3977
    13
OBJECTS = dll_exports.cpp 	\
danderson@3977
    14
	x86/jit_x86.cpp			\
danderson@3977
    15
	sp_vm_basecontext.cpp	\
danderson@3977
    16
	sp_vm_engine.cpp	\
danderson@3977
    17
	sp_vm_function.cpp	\
danderson@3977
    18
	engine2.cpp			\
danderson@3977
    19
	BaseRuntime.cpp		\
danderson@3977
    20
	jit_function.cpp	\
danderson@3977
    21
	opcodes.cpp		\
dvander@4013
    22
	watchdog_timer.cpp \
dvander@4116
    23
	interpreter.cpp \
danderson@3977
    24
	md5/md5.cpp			\
danderson@3977
    25
	zlib/adler32.c		\
danderson@3977
    26
	zlib/compress.c		\
danderson@3977
    27
	zlib/crc32.c		\
danderson@3977
    28
	zlib/deflate.c		\
danderson@3977
    29
	zlib/gzio.c			\
danderson@3977
    30
	zlib/infback.c		\
danderson@3977
    31
	zlib/inffast.c		\
danderson@3977
    32
	zlib/inflate.c		\
danderson@3977
    33
	zlib/inftrees.c		\
danderson@3977
    34
	zlib/trees.c		\
danderson@3977
    35
	zlib/uncompr.c		\
danderson@3977
    36
	zlib/zutil.c		\
danderson@3977
    37
danderson@3977
    38
OBJECTS += ../../knight/shared/KeCodeAllocator.cpp
danderson@3979
    39
OBJECTS += ../../public/jit/x86/assembler-x86.cpp
danderson@3977
    40
danderson@3977
    41
##############################################
danderson@3977
    42
### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ###
danderson@3977
    43
##############################################
danderson@3977
    44
danderson@3977
    45
C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -pipe -fno-strict-aliasing
danderson@3977
    46
C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3
danderson@3977
    47
C_GCC4_FLAGS = -fvisibility=hidden
danderson@3977
    48
CXX_GCC4_FLAGS = -fvisibility-inlines-hidden
danderson@3977
    49
CXX = c++
danderson@3977
    50
CC = cc
danderson@3977
    51
dvander@4013
    52
LINK = -m32 -lm -lpthread -lrt
danderson@3977
    53
danderson@3977
    54
INCLUDE = -I. -I.. -I$(SMSDK)/public -I$(SMSDK)/public/jit -I$(SMSDK)/public/jit/x86 \
dvander@4116
    55
	-I$(SMSDK)/public/sourcepawn -I$(MMSOURCE17)/core/sourcehook -I$(SMSDK)/knight/shared -Ix86 \
dvander@4116
    56
	-I$(SMSDK)/public/amtl
danderson@3977
    57
danderson@3977
    58
CFLAGS += -D_LINUX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \
danderson@3977
    59
	-D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -DHAVE_STDINT_H \
danderson@3977
    60
	-m32 -Wno-uninitialized -Werror -DSPSHELL -ggdb3 -Wno-unused
danderson@3977
    61
CXXFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti -Wno-delete-non-virtual-dtor
danderson@3977
    62
danderson@3977
    63
################################################
danderson@3977
    64
### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ###
danderson@3977
    65
################################################
danderson@3977
    66
danderson@3977
    67
ifeq "$(DEBUG)" "true"
danderson@3977
    68
	BIN_DIR = Debug.shell
danderson@3977
    69
	CFLAGS += $(C_DEBUG_FLAGS)
danderson@3977
    70
else
danderson@3977
    71
	BIN_DIR = Release.shell
danderson@3977
    72
	CFLAGS += $(C_OPT_FLAGS)
danderson@3977
    73
endif
danderson@3977
    74
danderson@3977
    75
GCC_VERSION := $(shell $(CXX) -dumpversion >&1 | cut -b1)
danderson@3977
    76
ifeq "$(GCC_VERSION)" "4"
danderson@3977
    77
	CFLAGS += $(C_GCC4_FLAGS)
danderson@3977
    78
	CXXFLAGS += $(CXX_GCC4_FLAGS)
danderson@3977
    79
endif
danderson@3977
    80
danderson@3977
    81
OBJ_LINUX := $(OBJECTS:../../knight/shared/%.cpp=$(BIN_DIR)/knight/%.o)
danderson@3979
    82
OBJ_LINUX := $(OBJ_LINUX:../../public/jit/x86/%.cpp=$(BIN_DIR)/%.o)
danderson@3977
    83
OBJ_LINUX := $(OBJ_LINUX:%.cpp=$(BIN_DIR)/%.o)
danderson@3977
    84
OBJ_LINUX := $(OBJ_LINUX:%.c=$(BIN_DIR)/%.o)
danderson@3977
    85
danderson@3977
    86
default: all
danderson@3977
    87
danderson@3977
    88
$(BIN_DIR)/%.o: %.c
danderson@3977
    89
	$(CC) $(INCLUDE) $(CFLAGS) -o $@ -c $<
danderson@3977
    90
danderson@3977
    91
$(BIN_DIR)/%.o: %.cpp
danderson@3977
    92
	$(CXX) $(INCLUDE) $(CFLAGS) $(CXXFLAGS) -o $@ -c $<
danderson@3977
    93
danderson@3977
    94
$(BIN_DIR)/knight/%.o: ../../knight/shared/%.cpp
danderson@3977
    95
	$(CXX) $(INCLUDE) $(CFLAGS) $(CXXFLAGS) -o $@ -c $<
danderson@3977
    96
danderson@3979
    97
$(BIN_DIR)/assembler-x86.o: ../../public/jit/x86/assembler-x86.cpp
danderson@3979
    98
	$(CXX) $(INCLUDE) $(CFLAGS) $(CXXFLAGS) -o $@ -c $<
danderson@3979
    99
danderson@3977
   100
all:
danderson@3977
   101
	mkdir -p $(BIN_DIR)/x86
danderson@3977
   102
	mkdir -p $(BIN_DIR)/md5
danderson@3977
   103
	mkdir -p $(BIN_DIR)/zlib
danderson@3977
   104
	mkdir -p $(BIN_DIR)/knight
danderson@3977
   105
	$(MAKE) -f Makefile.shell jit
danderson@3977
   106
danderson@3977
   107
jit: $(OBJ_LINUX)
danderson@3977
   108
	$(CXX) $(INCLUDE) $(OBJ_LINUX) $(LINK) -o $(BIN_DIR)/$(PROJECT)
danderson@3977
   109
danderson@3977
   110
debug:
danderson@3977
   111
	$(MAKE) -f Makefile.shell all DEBUG=true
danderson@3977
   112
danderson@3977
   113
clean:
danderson@3977
   114
	rm -f $(BIN_DIR)/x86/*.o
danderson@3977
   115
#	rm -rf $(BIN_DIR)/zlib/*.o
danderson@3977
   116
#	rm -rf $(BIN_DIR)/knight/*.o
danderson@3977
   117
	rm -f $(BIN_DIR)/*.o
danderson@3977
   118
	rm -f $(BIN_DIR)/$(PROJECT)
danderson@3977
   119