Improved *nix makefile
Much easier to build drivers now. No need to edit the config file to switch between driver builds
This commit is contained in:
parent
fc11132618
commit
9ddfc9fb1c
36
Makefile
36
Makefile
@ -3,35 +3,37 @@ CONFIG= ./config
|
||||
|
||||
include $(CONFIG)
|
||||
|
||||
OBJS= src/luasql.o src/ls_$T.o
|
||||
OBJS= src/luasql.o
|
||||
SRCS= src/luasql.h src/luasql.c
|
||||
|
||||
# list of all driver names
|
||||
DRIVER_LIST= $(subst src/ls_,,$(basename $(wildcard src/ls_*.c)))
|
||||
|
||||
SRCS= src/luasql.h src/luasql.c \
|
||||
src/ls_firebird.c \
|
||||
src/ls_postgres.c \
|
||||
src/ls_odbc.c \
|
||||
src/ls_oci8.c \
|
||||
src/ls_mysql.c \
|
||||
src/ls_sqlite.c \
|
||||
src/ls_sqlite3.c
|
||||
# used for help formatting
|
||||
EMPTY=
|
||||
SPACE= $(EMPTY) $(EMPTY)
|
||||
|
||||
AR= ar rcu
|
||||
RANLIB= ranlib
|
||||
all :
|
||||
@echo "usage: make { $(subst $(SPACE),$(SPACE)|$(SPACE),$(DRIVER_LIST)) }"
|
||||
|
||||
# explicity matches against the list of avilable driver names
|
||||
$(DRIVER_LIST) : % : src/%.so
|
||||
|
||||
lib: src/$(LIBNAME)
|
||||
# builds the specified driver
|
||||
src/%.so : src/ls_%.c $(OBJS)
|
||||
$(CC) $(CFLAGS) src/ls_$*.c -o $@ $(LIB_OPTION) $(OBJS) $(DRIVER_INCS_$*) $(DRIVER_LIBS_$*)
|
||||
|
||||
src/$(LIBNAME): $(OBJS)
|
||||
export MACOSX_DEPLOYMENT_TARGET="10.3"; $(CC) $(CFLAGS) -o $@ $(LIB_OPTION) $(OBJS) $(DRIVER_LIBS)
|
||||
# builds the general LuaSQL functions
|
||||
$(OBJS) : $(SRCS)
|
||||
$(CC) $(CFLAGS) -c src/luasql.c -o src/luasql.o
|
||||
|
||||
install:
|
||||
mkdir -p $(LUA_LIBDIR)/luasql
|
||||
cp src/$(LIBNAME) $(LUA_LIBDIR)/luasql
|
||||
cp src/*.so $(LUA_LIBDIR)/luasql
|
||||
|
||||
jdbc_driver:
|
||||
cd src/jdbc; make $@
|
||||
|
||||
clean:
|
||||
rm -f src/$(LIBNAME) src/*.o
|
||||
rm -f src/*.so src/*.o
|
||||
|
||||
# $Id: Makefile,v 1.56 2008/05/30 17:21:18 tomas Exp $
|
||||
|
102
config
102
config
@ -1,68 +1,54 @@
|
||||
# $Id: config,v 1.10 2008/05/30 17:21:18 tomas Exp $
|
||||
|
||||
# Driver (leave uncommented ONLY the line with the name of the driver)
|
||||
T= mysql
|
||||
#T= oci8
|
||||
#T= odbc
|
||||
#T= postgres
|
||||
#T= sqlite
|
||||
#T=sqlite3
|
||||
#T=firebird
|
||||
|
||||
# Installation directories
|
||||
|
||||
# Default prefix
|
||||
PREFIX = /usr/local
|
||||
PREFIX ?= /usr
|
||||
|
||||
# System's libraries directory (where binary libraries are installed)
|
||||
LUA_LIBDIR= $(PREFIX)/lib/lua/5.1
|
||||
|
||||
# System's lua directory (where Lua libraries are installed)
|
||||
LUA_DIR= $(PREFIX)/share/lua/5.1
|
||||
|
||||
# Lua includes directory
|
||||
LUA_INC= $(PREFIX)/include
|
||||
|
||||
# Lua version number (first and second digits of target version)
|
||||
LUA_VERSION_NUM= 501
|
||||
# Lua version and dirs
|
||||
LUA_SYS_VER ?= 5.2
|
||||
LUA_LIBDIR ?= $(PREFIX)/lib/lua/$(LUA_SYS_VER)
|
||||
LUA_DIR ?= $(PREFIX)/share/lua/$(LUA_SYS_VER)
|
||||
LUA_INC ?= $(PREFIX)/include/lua$(LUA_SYS_VER)
|
||||
|
||||
# OS dependent
|
||||
LIB_OPTION= -shared #for Linux
|
||||
#LIB_OPTION= -bundle -undefined dynamic_lookup #for MacOS X
|
||||
UNAME_S := $(shell uname -s)
|
||||
ifeq ($(UNAME_S),Darwin) # MacOS
|
||||
LIB_OPTION ?= -bundle -undefined dynamic_lookup -mmacosx-version-min=10.3
|
||||
else # Linux/BSD
|
||||
LIB_OPTION ?= -shared
|
||||
endif
|
||||
|
||||
LIBNAME= $T.so
|
||||
# driver specific params
|
||||
# - MySQL
|
||||
#DRIVER_LIBS_mysql ?= -L/usr/local/mysql/lib -lmysqlclient -lz
|
||||
#DRIVER_INCS_mysql ?= -I/usr/local/mysql/include
|
||||
DRIVER_LIBS_mysql ?= -L/usr/lib -lmysqlclient -lz
|
||||
DRIVER_INCS_mysql ?= -I/usr/include/mysql
|
||||
# - Oracle OCI8
|
||||
DRIVER_LIBS_oci8 ?= -L/home/oracle/OraHome1/lib -lz -lclntsh
|
||||
DRIVER_INCS_oci8 ?= -I/home/oracle/OraHome1/rdbms/demo \
|
||||
-I/home/oracle/OraHome1/rdbms/public
|
||||
# - PostgreSQL
|
||||
#DRIVER_LIBS_postgres ?= -L/usr/local/pgsql/lib -lpq
|
||||
#DRIVER_INCS_postgres ?= -I/usr/local/pgsql/include/
|
||||
DRIVER_LIBS_postgres ?= -L/usr/lib -lpq
|
||||
DRIVER_INCS_postgres ?= -I/usr/include/postgresql
|
||||
# - SQLite
|
||||
DRIVER_LIBS_sqlite ?= -lsqlite
|
||||
DRIVER_INCS_sqlite ?=
|
||||
# - SQLite3
|
||||
DRIVER_LIBS_sqlite3 ?= -L/opt/local/lib -lsqlite3
|
||||
DRIVER_INCS_sqlite3 ?= -I/opt/local/include
|
||||
# - ODBC
|
||||
DRIVER_LIBS_odbc ?= -L/usr/local/lib -lodbc
|
||||
DRIVER_INCS_odbc ?= -DUNIXODBC -I/usr/local/include
|
||||
# - Firebird
|
||||
DRIVER_LIBS_firebird ?= -L/usr/local/firebird -lfbclient
|
||||
DRIVER_INCS_firebird ?=
|
||||
|
||||
# Compilation parameters
|
||||
# Driver specific
|
||||
######## MySQL
|
||||
#DRIVER_LIBS= -L/usr/local/mysql/lib -lmysqlclient -lz
|
||||
#DRIVER_INCS= -I/usr/local/mysql/include
|
||||
DRIVER_LIBS= -L/usr/lib -lmysqlclient -lz
|
||||
DRIVER_INCS= -I/usr/include/mysql
|
||||
######## Oracle OCI8
|
||||
#DRIVER_LIBS= -L/home/oracle/OraHome1/lib -lz -lclntsh
|
||||
#DRIVER_INCS= -I/home/oracle/OraHome1/rdbms/demo -I/home/oracle/OraHome1/rdbms/public
|
||||
######## PostgreSQL
|
||||
#DRIVER_LIBS= -L/usr/local/pgsql/lib -lpq
|
||||
#DRIVER_INCS= -I/usr/local/pgsql/include/
|
||||
#DRIVER_LIBS= -L/usr/lib -lpq
|
||||
#DRIVER_INCS= -I/usr/include/postgresql
|
||||
######## SQLite
|
||||
#DRIVER_LIBS= -lsqlite
|
||||
#DRIVER_INCS=
|
||||
######## SQLite3
|
||||
#DRIVER_LIBS= -L/opt/local/lib -lsqlite3
|
||||
#DRIVER_INCS= -I/opt/local/include
|
||||
######## ODBC
|
||||
#DRIVER_LIBS= -L/usr/local/lib -lodbc
|
||||
#DRIVER_INCS= -DUNIXODBC -I/usr/local/include
|
||||
######## Firebird
|
||||
#DRIVER_LIBS= -L/usr/local/firebird -lfbclient
|
||||
#DRIVER_INCS=
|
||||
|
||||
WARN= -Wall -Wmissing-prototypes -Wmissing-declarations -ansi -pedantic
|
||||
# general compilation parameters
|
||||
WARN = -Wall -Wmissing-prototypes -Wmissing-declarations -pedantic
|
||||
INCS = -I$(LUA_INC)
|
||||
CFLAGS= -O2 $(WARN) -fPIC $(DRIVER_INCS) $(INCS) -DLUASQL_VERSION_NUMBER='"$V"' $(DEFS)
|
||||
DEFS =
|
||||
CFLAGS = -O2 -std=gnu99 $(WARN) -fPIC $(DRIVER_INCS) $(INCS) \
|
||||
-DLUASQL_VERSION_NUMBER='"$V"' $(DEFS)
|
||||
CC= gcc
|
||||
|
||||
# $Id: config,v 1.10 2008/05/30 17:21:18 tomas Exp $
|
||||
|
Loading…
x
Reference in New Issue
Block a user