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)
|
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 \
|
# used for help formatting
|
||||||
src/ls_firebird.c \
|
EMPTY=
|
||||||
src/ls_postgres.c \
|
SPACE= $(EMPTY) $(EMPTY)
|
||||||
src/ls_odbc.c \
|
|
||||||
src/ls_oci8.c \
|
|
||||||
src/ls_mysql.c \
|
|
||||||
src/ls_sqlite.c \
|
|
||||||
src/ls_sqlite3.c
|
|
||||||
|
|
||||||
AR= ar rcu
|
all :
|
||||||
RANLIB= ranlib
|
@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)
|
# builds the general LuaSQL functions
|
||||||
export MACOSX_DEPLOYMENT_TARGET="10.3"; $(CC) $(CFLAGS) -o $@ $(LIB_OPTION) $(OBJS) $(DRIVER_LIBS)
|
$(OBJS) : $(SRCS)
|
||||||
|
$(CC) $(CFLAGS) -c src/luasql.c -o src/luasql.o
|
||||||
|
|
||||||
install:
|
install:
|
||||||
mkdir -p $(LUA_LIBDIR)/luasql
|
mkdir -p $(LUA_LIBDIR)/luasql
|
||||||
cp src/$(LIBNAME) $(LUA_LIBDIR)/luasql
|
cp src/*.so $(LUA_LIBDIR)/luasql
|
||||||
|
|
||||||
jdbc_driver:
|
jdbc_driver:
|
||||||
cd src/jdbc; make $@
|
cd src/jdbc; make $@
|
||||||
|
|
||||||
clean:
|
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 $
|
|
||||||
|
104
config
104
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
|
# Installation directories
|
||||||
|
|
||||||
# Default prefix
|
# Default prefix
|
||||||
PREFIX = /usr/local
|
PREFIX ?= /usr
|
||||||
|
|
||||||
# System's libraries directory (where binary libraries are installed)
|
# Lua version and dirs
|
||||||
LUA_LIBDIR= $(PREFIX)/lib/lua/5.1
|
LUA_SYS_VER ?= 5.2
|
||||||
|
LUA_LIBDIR ?= $(PREFIX)/lib/lua/$(LUA_SYS_VER)
|
||||||
# System's lua directory (where Lua libraries are installed)
|
LUA_DIR ?= $(PREFIX)/share/lua/$(LUA_SYS_VER)
|
||||||
LUA_DIR= $(PREFIX)/share/lua/5.1
|
LUA_INC ?= $(PREFIX)/include/lua$(LUA_SYS_VER)
|
||||||
|
|
||||||
# Lua includes directory
|
|
||||||
LUA_INC= $(PREFIX)/include
|
|
||||||
|
|
||||||
# Lua version number (first and second digits of target version)
|
|
||||||
LUA_VERSION_NUM= 501
|
|
||||||
|
|
||||||
# OS dependent
|
# OS dependent
|
||||||
LIB_OPTION= -shared #for Linux
|
UNAME_S := $(shell uname -s)
|
||||||
#LIB_OPTION= -bundle -undefined dynamic_lookup #for MacOS X
|
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
|
# general compilation parameters
|
||||||
# Driver specific
|
WARN = -Wall -Wmissing-prototypes -Wmissing-declarations -pedantic
|
||||||
######## MySQL
|
INCS = -I$(LUA_INC)
|
||||||
#DRIVER_LIBS= -L/usr/local/mysql/lib -lmysqlclient -lz
|
DEFS =
|
||||||
#DRIVER_INCS= -I/usr/local/mysql/include
|
CFLAGS = -O2 -std=gnu99 $(WARN) -fPIC $(DRIVER_INCS) $(INCS) \
|
||||||
DRIVER_LIBS= -L/usr/lib -lmysqlclient -lz
|
-DLUASQL_VERSION_NUMBER='"$V"' $(DEFS)
|
||||||
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
|
|
||||||
INCS= -I$(LUA_INC)
|
|
||||||
CFLAGS= -O2 $(WARN) -fPIC $(DRIVER_INCS) $(INCS) -DLUASQL_VERSION_NUMBER='"$V"' $(DEFS)
|
|
||||||
CC= gcc
|
CC= gcc
|
||||||
|
|
||||||
# $Id: config,v 1.10 2008/05/30 17:21:18 tomas Exp $
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user