loader/Makefile
author Matt Woodrow <pred@alliedmods.net>
Fri Apr 11 07:58:06 2008 +0000 (2008-04-11)
changeset 1988 0eae92e7cfd2
parent 1977 a91419cc4497
child 2046 e9d9ebc561cf
permissions -rw-r--r--
Fixed amb1594 - SetPlayerClass issues with spawning
ds@1977
     1
# (C)2004-2008 SourceMod Development Team
ds@1977
     2
# Makefile written by David "BAILOPAN" Anderson
ds@1952
     3
ds@1977
     4
SOURCEMM16 = ../../sourcemm-1.6
ds@1952
     5
ds@1952
     6
#####################################
ds@1952
     7
### EDIT BELOW FOR OTHER PROJECTS ###
ds@1952
     8
#####################################
ds@1952
     9
ds@1952
    10
PROJECT = sourcemod_mm
ds@1952
    11
ds@1952
    12
OBJECTS = loader.cpp
ds@1952
    13
ds@1952
    14
##############################################
ds@1952
    15
### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ###
ds@1952
    16
##############################################
ds@1952
    17
ds@1977
    18
C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -s -pipe -fno-strict-aliasing
ds@1977
    19
C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3
ds@1977
    20
C_GCC4_FLAGS = -fvisibility=hidden
ds@1977
    21
CPP_GCC4_FLAGS = -fvisibility-inlines-hidden
ds@1952
    22
CPP = gcc-4.1
ds@1952
    23
ds@1952
    24
LINK = -static-libgcc
ds@1952
    25
ds@1977
    26
INCLUDE = -I$(SOURCEMM16) -I$(SOURCEMM16)/sourcehook -I$(SOURCEMM16)/sourcemm
ds@1952
    27
ds@1977
    28
CFLAGS += -D_LINUX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \
ds@1977
    29
	-D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Wno-uninitialized \
ds@1977
    30
	-mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32
ds@1977
    31
CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti
ds@1952
    32
ds@1952
    33
################################################
ds@1952
    34
### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ###
ds@1952
    35
################################################
ds@1952
    36
ds@1952
    37
ifeq "$(DEBUG)" "true"
ds@1952
    38
	BIN_DIR = Debug
ds@1952
    39
	CFLAGS += $(C_DEBUG_FLAGS)
ds@1952
    40
else
ds@1952
    41
	BIN_DIR = Release
ds@1952
    42
	CFLAGS += $(C_OPT_FLAGS)
ds@1952
    43
endif
ds@1952
    44
ds@1952
    45
GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1)
ds@1952
    46
ifeq "$(GCC_VERSION)" "4"
ds@1977
    47
	CFLAGS += $(C_GCC4_FLAGS)
ds@1952
    48
	CPPFLAGS += $(CPP_GCC4_FLAGS)
ds@1952
    49
endif
ds@1952
    50
ds@1952
    51
BINARY = $(PROJECT)_i486.so
ds@1952
    52
ds@1952
    53
OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o)
ds@1952
    54
ds@1952
    55
$(BIN_DIR)/%.o: %.cpp
ds@1952
    56
	$(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
ds@1952
    57
ds@1952
    58
all:
ds@1977
    59
	mkdir -p $(BIN_DIR)
ds@1977
    60
	$(MAKE) -f Makefile loader
ds@1952
    61
ds@1977
    62
loader: $(OBJ_LINUX)
ds@1977
    63
	$(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY)
ds@1952
    64
ds@1977
    65
debug:
ds@1977
    66
	$(MAKE) -f Makefile all DEBUG=true
ds@1952
    67
ds@1952
    68
default: all
ds@1952
    69
ds@1952
    70
clean:
ds@1977
    71
	rm -rf $(BIN_DIR)/*.o
ds@1977
    72
	rm -rf $(BIN_DIR)/$(BINARY)