tools/vtable_scanner/Makefile
author David Anderson <dvander@alliedmods.net>
Wed Feb 25 19:22:36 2009 -0500 (2009-02-25)
changeset 2603 fa286305bd3f
parent 2250 f1bcab0f4b6c
permissions -rw-r--r--
Allow for second private chat trigger (bug 3667, r,a11=pred).
dvander@2250
     1
# (C)2004-2008 SourceMod Development Team
dvander@2250
     2
# Makefile written by David "BAILOPAN" Anderson
dvander@2250
     3
dvander@2250
     4
dvander@2250
     5
#####################################
dvander@2250
     6
### EDIT BELOW FOR OTHER PROJECTS ###
dvander@2250
     7
#####################################
dvander@2250
     8
dvander@2250
     9
OBJECTS = main.cpp
dvander@2250
    10
dvander@2250
    11
##############################################
dvander@2250
    12
### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ###
dvander@2250
    13
##############################################
dvander@2250
    14
dvander@2250
    15
C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -pipe -fno-strict-aliasing
dvander@2250
    16
C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3
dvander@2250
    17
C_GCC4_FLAGS = -fvisibility=hidden
dvander@2250
    18
CPP_GCC4_FLAGS = -fvisibility-inlines-hidden
dvander@2250
    19
CPP = gcc-4.1
dvander@2250
    20
dvander@2250
    21
BINARY = vtablecheck
dvander@2250
    22
dvander@2250
    23
LINK += -L. -liberty -ldl
dvander@2250
    24
dvander@2250
    25
INCLUDE += -I.
dvander@2250
    26
dvander@2250
    27
CFLAGS += -D_LINUX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \
dvander@2250
    28
	-D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror \
dvander@2250
    29
	-Wno-uninitialized -mfpmath=sse -msse -DHAVE_STDINT_H -DSM_DEFAULT_THREADER -m32
dvander@2250
    30
CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti
dvander@2250
    31
dvander@2250
    32
################################################
dvander@2250
    33
### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ###
dvander@2250
    34
################################################
dvander@2250
    35
dvander@2250
    36
ifeq "$(DEBUG)" "true"
dvander@2250
    37
	BIN_DIR = Debug
dvander@2250
    38
	CFLAGS += $(C_DEBUG_FLAGS)
dvander@2250
    39
else
dvander@2250
    40
	BIN_DIR = Release
dvander@2250
    41
	CFLAGS += $(C_OPT_FLAGS)
dvander@2250
    42
endif
dvander@2250
    43
dvander@2250
    44
GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1)
dvander@2250
    45
ifeq "$(GCC_VERSION)" "4"
dvander@2250
    46
	CFLAGS += $(C_GCC4_FLAGS)
dvander@2250
    47
	CPPFLAGS += $(CPP_GCC4_FLAGS)
dvander@2250
    48
endif
dvander@2250
    49
dvander@2250
    50
OBJ_LINUX := $(OBJECTS:%vm_engine.cpp=$(BIN_DIR)/%vm_engine.o)
dvander@2250
    51
OBJ_LINUX := $(OBJ_LINUX:%.cpp=$(BIN_DIR)/%.o)
dvander@2250
    52
OBJ_LINUX := $(OBJ_LINUX:%.c=$(BIN_DIR)/%.o)
dvander@2250
    53
dvander@2250
    54
$(BIN_DIR)/%vm_engine.o: %vm_engine.cpp
dvander@2250
    55
	$(CPP) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
dvander@2250
    56
dvander@2250
    57
$(BIN_DIR)/%.o: %.cpp
dvander@2250
    58
	$(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
dvander@2250
    59
dvander@2250
    60
$(BIN_DIR)/%.o: %.c
dvander@2250
    61
	$(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $<
dvander@2250
    62
dvander@2250
    63
all:
dvander@2250
    64
	mkdir -p $(BIN_DIR)
dvander@2250
    65
	$(MAKE) -f Makefile sourcemod
dvander@2250
    66
dvander@2250
    67
sourcemod: $(OBJ_LINUX)
dvander@2250
    68
	$(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -m32 -o$(BIN_DIR)/$(BINARY)
dvander@2250
    69
dvander@2250
    70
debug:
dvander@2250
    71
	$(MAKE) -f Makefile all DEBUG=true
dvander@2250
    72
dvander@2250
    73
default: all
dvander@2250
    74
dvander@2250
    75
clean:
dvander@2250
    76
	rm -rf $(BIN_DIR)/$(BINARY)