sourcepawn/compiler/Makefile
author Nicholas Hastings <skamonkey@gmail.com>
Mon Feb 08 19:57:20 2010 -0800 (2010-02-08)
changeset 2914 bf5f9aa53abe
parent 2735 1a0280e5a837
child 3129 76208f2e5ef0
permissions -rw-r--r--
Fixed FindEntityByClassname crash in Synergy (bug 4235, r=dvander).
     1 # (C)2004-2008 SourceMod Development Team
     2 # Makefile written by David "BAILOPAN" Anderson
     3 
     4 SMSDK = ../..
     5 
     6 #####################################
     7 ### EDIT BELOW FOR OTHER PROJECTS ###
     8 #####################################
     9 
    10 BINARY = spcomp
    11 
    12 OBJECTS = binreloc.c libpawnc.c lstring.c memfile.c pawncc.c sc1.c sc2.c sc3.c sc4.c \
    13 	sc5.c sc6.c sc7.c scexpand.c sci18n.c sclist.c scmemfil.c scstate.c sctracker.c \
    14 	scvars.c sp_file.c
    15 OBJECTS += zlib/adler32.c zlib/compress.c zlib/crc32.c zlib/deflate.c zlib/gzio.c \
    16 	   zlib/infback.c zlib/inffast.c zlib/inflate.c zlib/inftrees.c zlib/trees.c \
    17 	   zlib/uncompr.c zlib/zutil.c
    18 
    19 ##############################################
    20 ### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ###
    21 ##############################################
    22 
    23 C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -pipe -fno-strict-aliasing -fomit-frame-pointer
    24 C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3
    25 C_GCC4_FLAGS = -fvisibility=hidden
    26 CPP_GCC4_FLAGS = -fvisibility-inlines-hidden
    27 CPP = gcc
    28 
    29 LINK = -lgcc -static-libgcc
    30 
    31 INCLUDE = -I. -I$(SMSDK)/public/sourcepawn
    32 
    33 CFLAGS += -DLINUX -DHAVE_STDINT_H -DAMX_ANSIONLY -DENABLE_BINRELOC -m32
    34 CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti
    35 
    36 ################################################
    37 ### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ###
    38 ################################################
    39 
    40 ifeq "$(DEBUG)" "true"
    41 	BIN_DIR = Debug
    42 	CFLAGS += $(C_DEBUG_FLAGS)
    43 else
    44 	BIN_DIR = Release
    45 	CFLAGS += $(C_OPT_FLAGS)
    46 endif
    47 
    48 GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1)
    49 ifeq "$(GCC_VERSION)" "4"
    50 	CFLAGS += $(C_GCC4_FLAGS)
    51 	CPPFLAGS += $(CPP_GCC4_FLAGS)
    52 endif
    53 
    54 OBJ_LINUX := $(OBJECTS:%.c=$(BIN_DIR)/%.o)
    55 
    56 $(BIN_DIR)/%.o: %.c
    57 	$(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $<
    58 
    59 all:
    60 	mkdir -p $(BIN_DIR)/zlib
    61 	$(MAKE) -f Makefile compiler
    62 
    63 compiler: $(OBJ_LINUX)
    64 	$(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -m32 -ldl -lm -o $(BIN_DIR)/$(BINARY)
    65 
    66 debug:
    67 	$(MAKE) -f Makefile all DEBUG=true
    68 
    69 default: all
    70 
    71 clean:
    72 	rm -rf $(BIN_DIR)/*.o
    73 	rm -rf $(BIN_DIR)/zlib/*.o
    74 	rm -rf $(BIN_DIR)/$(BINARY)