extensions/sqlite/Makefile
author Scott Ehlert <ds@alliedmods.net>
Sun Mar 30 07:00:22 2008 +0000 (2008-03-30)
changeset 1952 b7aa2b626807
child 1977 a91419cc4497
permissions -rw-r--r--
Spring Cleaning, Part Ichi (1)
Various minor things done to project files
Updated sample extension project file and updated makefile to the new unified version (more changes likely on the way)
Updated regex project file and makefile
ds@1952
     1
#(C)2004-2008 Metamod:Source Development Team
ds@1952
     2
# Makefile written by David "BAILOPAN" Anderson
ds@1952
     3
ds@1952
     4
SMSDK = ../..
ds@1952
     5
SRCDS = ~/srcds
ds@1952
     6
SOURCEMM = ../../../sourcemm-1.6
ds@1952
     7
ds@1952
     8
#####################################
ds@1952
     9
### EDIT BELOW FOR OTHER PROJECTS ###
ds@1952
    10
#####################################
ds@1952
    11
ds@1952
    12
PROJECT = dbi.sqlite
ds@1952
    13
ds@1952
    14
#Uncomment for SourceMM-enabled extensions
ds@1952
    15
#LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_i486.so tier0_i486.so 
ds@1952
    16
ds@1952
    17
OBJECTS = sdk/smsdk_ext.cpp extension.cpp sm_memtable.cpp \
ds@1952
    18
	driver/SqDatabase.cpp driver/SqDriver.cpp driver/SqQuery.cpp \
ds@1952
    19
	driver/SqResults.cpp
ds@1952
    20
ds@1952
    21
OBJECTS += sqlite-source/alter.c sqlite-source/analyze.c \
ds@1952
    22
	sqlite-source/attach.c sqlite-source/auth.c sqlite-source/btree.c \
ds@1952
    23
	sqlite-source/build.c sqlite-source/callback.c sqlite-source/complete.c \
ds@1952
    24
	sqlite-source/date.c sqlite-source/delete.c sqlite-source/expr.c \
ds@1952
    25
	sqlite-source/func.c sqlite-source/hash.c sqlite-source/insert.c \
ds@1952
    26
	sqlite-source/legacy.c sqlite-source/main.c sqlite-source/malloc.c \
ds@1952
    27
	sqlite-source/opcodes.c sqlite-source/os.c sqlite-source/os_unix.c \
ds@1952
    28
	sqlite-source/pager.c sqlite-source/parse.c sqlite-source/pragma.c \
ds@1952
    29
	sqlite-source/prepare.c sqlite-source/printf.c sqlite-source/random.c \
ds@1952
    30
	sqlite-source/select.c sqlite-source/table.c sqlite-source/tokenize.c \
ds@1952
    31
	sqlite-source/trigger.c sqlite-source/update.c sqlite-source/utf.c \
ds@1952
    32
	sqlite-source/util.c sqlite-source/vacuum.c sqlite-source/vdbe.c \
ds@1952
    33
	sqlite-source/vdbeapi.c sqlite-source/vdbeaux.c sqlite-source/vdbeblob.c \
ds@1952
    34
	sqlite-source/vdbefifo.c sqlite-source/vdbemem.c sqlite-source/vtab.c \
ds@1952
    35
	sqlite-source/where.c sqlite-source/btmutex.c sqlite-source/journal.c \
ds@1952
    36
	sqlite-source/mem1.c sqlite-source/mem2.c sqlite-source/mutex.c \
ds@1952
    37
	sqlite-source/mutex_unix.c
ds@1952
    38
ds@1952
    39
##############################################
ds@1952
    40
### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ###
ds@1952
    41
##############################################
ds@1952
    42
ds@1952
    43
C_OPT_FLAGS = -O3 -funroll-loops -s -pipe -fno-strict-aliasing
ds@1952
    44
C_DEBUG_FLAGS = -g -ggdb3
ds@1952
    45
CPP_GCC4_FLAGS = -fvisibility=hidden -fvisibility-inlines-hidden
ds@1952
    46
CPP = gcc-4.1
ds@1952
    47
ds@1952
    48
HL2PUB = $(HL2SDK)/public
ds@1952
    49
HL2LIB = $(HL2SDK)/linux_sdk
ds@1952
    50
HL2SDK = $(SOURCEMM)/hl2sdk
ds@1952
    51
ds@1952
    52
LINK = $(LINK_HL2) -static-libgcc -lpthread
ds@1952
    53
ds@1952
    54
INCLUDE = -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/dlls -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \
ds@1952
    55
          -I$(HL2PUB)/vstdlib -I$(HL2SDK)/tier1 -I$(SOURCEMM) -I$(SOURCEMM)/sourcehook -I$(SOURCEMM)/sourcemm \
ds@1952
    56
	  -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(SMSDK)/public/extensions \
ds@1952
    57
ds@1952
    58
CFLAGS = -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp \
ds@1952
    59
	-Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca \
ds@1952
    60
	-Dstrcmpi=strcasecmp -Wall -Werror -mfpmath=sse -msse -DSOURCEMOD_BUILD -Wno-uninitialized \
ds@1952
    61
	-DSQLITE_THREADSAFE -DSQLITE_OMIT_LOAD_EXTENSION -m32
ds@1952
    62
CPPFLAGS = -Wno-non-virtual-dtor -fno-exceptions -fno-rtti
ds@1952
    63
ds@1952
    64
################################################
ds@1952
    65
### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ###
ds@1952
    66
################################################
ds@1952
    67
ds@1952
    68
ifeq "$(DEBUG)" "true"
ds@1952
    69
	BIN_DIR = Debug
ds@1952
    70
	CFLAGS += $(C_DEBUG_FLAGS)
ds@1952
    71
else
ds@1952
    72
	BIN_DIR = Release
ds@1952
    73
	CFLAGS += $(C_OPT_FLAGS)
ds@1952
    74
endif
ds@1952
    75
ds@1952
    76
ds@1952
    77
GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1)
ds@1952
    78
ifeq "$(GCC_VERSION)" "4"
ds@1952
    79
	CPPFLAGS += $(CPP_GCC4_FLAGS)
ds@1952
    80
endif
ds@1952
    81
ds@1952
    82
BINARY = $(PROJECT).ext.so
ds@1952
    83
ds@1952
    84
OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o)
ds@1952
    85
OBJ_LINUX := $(OBJ_LINUX:%.c=$(BIN_DIR)/%.o)
ds@1952
    86
ds@1952
    87
$(BIN_DIR)/%.o: %.cpp
ds@1952
    88
	$(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
ds@1952
    89
ds@1952
    90
$(BIN_DIR)/%.o: %.c
ds@1952
    91
	$(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $<
ds@1952
    92
ds@1952
    93
all:
ds@1952
    94
	mkdir -p $(BIN_DIR)/sdk
ds@1952
    95
	mkdir -p $(BIN_DIR)/driver
ds@1952
    96
	mkdir -p $(BIN_DIR)/sqlite-source
ds@1952
    97
	ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so
ds@1952
    98
	ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so
ds@1952
    99
	$(MAKE) extension
ds@1952
   100
ds@1952
   101
extension: $(OBJ_LINUX)
ds@1952
   102
	$(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) $(OBJ_LINUX) $(LINK) -m32 -shared -ldl -lm -o$(BIN_DIR)/$(BINARY)
ds@1952
   103
ds@1952
   104
debug:	
ds@1952
   105
	$(MAKE) all DEBUG=true
ds@1952
   106
ds@1952
   107
default: all
ds@1952
   108
ds@1952
   109
clean:
ds@1952
   110
	rm -rf Release/*.o
ds@1952
   111
	rm -rf Release/sdk/*.o
ds@1952
   112
	rm -rf Release/sqlite-source/*.o
ds@1952
   113
	rm -rf Release/driver/*.o
ds@1952
   114
	rm -rf Release/$(BINARY)
ds@1952
   115
	rm -rf Debug/*.o
ds@1952
   116
	rm -rf Debug/sdk/*.o
ds@1952
   117
	rm -rf Debug/sqlite-source/*.o
ds@1952
   118
	rm -rf Debug/driver/*.o
ds@1952
   119
	rm -rf Debug/$(BINARY)