Building and installing the libDatabase shared library
Moved the modules to $(LIBDIR)/Database/engine
This commit is contained in:
parent
e933ec7618
commit
6e710609f7
28
src/Makefile
28
src/Makefile
|
@ -1,14 +1,16 @@
|
|||
SUBDIRS = database
|
||||
TARGETS = database.o
|
||||
TARGETS = libDatabase.a libDatabase.so.0.0 libDatabase.so.0 libDatabase.so
|
||||
PREFIX = /usr/local
|
||||
DESTDIR =
|
||||
BINDIR = $(PREFIX)/bin
|
||||
SBINDIR = $(PREFIX)/sbin
|
||||
LIBDIR = $(PREFIX)/lib
|
||||
CC ?= cc
|
||||
CPPFLAGSF?=
|
||||
CPPFLAGS?=
|
||||
CFLAGSF = -W -fPIC
|
||||
CFLAGS = -Wall -g -O2 -pedantic
|
||||
AR ?= ar
|
||||
RANLIB ?= ranlib
|
||||
CCSHARED?= $(CC) -shared
|
||||
RM ?= rm -f
|
||||
LN ?= ln -f
|
||||
MKDIR ?= mkdir -p
|
||||
|
@ -20,19 +22,29 @@ all: subdirs $(TARGETS)
|
|||
subdirs:
|
||||
@for i in $(SUBDIRS); do (cd $$i && $(MAKE)) || exit; done
|
||||
|
||||
database.o_OBJS = database.o
|
||||
database.o_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
|
||||
libDatabase_OBJS = database.o
|
||||
libDatabase_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
|
||||
libDatabase_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)
|
||||
|
||||
libDatabase.a: $(libDatabase_OBJS)
|
||||
$(AR) -rc libDatabase.a $(libDatabase_OBJS)
|
||||
$(RANLIB) libDatabase.a
|
||||
|
||||
libDatabase.so.0.0 libDatabase.so.0 libDatabase.so: $(libDatabase_OBJS)
|
||||
$(CCSHARED) -o libDatabase.so.0.0 -Wl,-soname,libDatabase.so.0 $(libDatabase_OBJS) $(libDatabase_LDFLAGS)
|
||||
$(LN) -s -- libDatabase.so.0.0 libDatabase.so.0
|
||||
$(LN) -s -- libDatabase.so.0.0 libDatabase.so
|
||||
|
||||
database.o: database.c database/database.h
|
||||
$(CC) $(database.o_CFLAGS) -c database.c
|
||||
$(CC) $(libDatabase_CFLAGS) -c database.c
|
||||
|
||||
clean:
|
||||
@for i in $(SUBDIRS); do (cd $$i && $(MAKE) clean) || exit; done
|
||||
$(RM) -- $(database.o_OBJS)
|
||||
$(RM) -- $(libDatabase_OBJS)
|
||||
|
||||
distclean:
|
||||
@for i in $(SUBDIRS); do (cd $$i && $(MAKE) distclean) || exit; done
|
||||
$(RM) -- $(database.o_OBJS)
|
||||
$(RM) -- $(libDatabase_OBJS)
|
||||
$(RM) -- $(TARGETS)
|
||||
|
||||
install: $(TARGETS)
|
||||
|
|
|
@ -43,7 +43,7 @@ Database * database_new(char const * engine, Config * config,
|
|||
if((database = object_new(sizeof(*database))) == NULL)
|
||||
return NULL;
|
||||
memset(database, 0, sizeof(*database));
|
||||
if((database->plugin = plugin_new(LIBDIR, PACKAGE, "database",
|
||||
if((database->plugin = plugin_new(LIBDIR, "Database", "engine",
|
||||
engine)) == NULL
|
||||
|| (database->dplugin = plugin_lookup(database->plugin,
|
||||
"database")) == NULL
|
||||
|
|
|
@ -65,16 +65,16 @@ distclean: clean
|
|||
$(RM) -- $(TARGETS)
|
||||
|
||||
install: $(TARGETS)
|
||||
$(MKDIR) $(DESTDIR)$(LIBDIR)/Database/database
|
||||
$(INSTALL) -m 0644 -- pgsql.so $(DESTDIR)$(LIBDIR)/Database/database/pgsql.so
|
||||
$(MKDIR) $(DESTDIR)$(LIBDIR)/Database/database
|
||||
$(INSTALL) -m 0644 -- sqlite2.so $(DESTDIR)$(LIBDIR)/Database/database/sqlite2.so
|
||||
$(MKDIR) $(DESTDIR)$(LIBDIR)/Database/database
|
||||
$(INSTALL) -m 0644 -- sqlite3.so $(DESTDIR)$(LIBDIR)/Database/database/sqlite3.so
|
||||
$(MKDIR) $(DESTDIR)$(LIBDIR)/Database/engine
|
||||
$(INSTALL) -m 0644 -- pgsql.so $(DESTDIR)$(LIBDIR)/Database/engine/pgsql.so
|
||||
$(MKDIR) $(DESTDIR)$(LIBDIR)/Database/engine
|
||||
$(INSTALL) -m 0644 -- sqlite2.so $(DESTDIR)$(LIBDIR)/Database/engine/sqlite2.so
|
||||
$(MKDIR) $(DESTDIR)$(LIBDIR)/Database/engine
|
||||
$(INSTALL) -m 0644 -- sqlite3.so $(DESTDIR)$(LIBDIR)/Database/engine/sqlite3.so
|
||||
|
||||
uninstall:
|
||||
$(RM) -- $(DESTDIR)$(LIBDIR)/Database/database/pgsql.so
|
||||
$(RM) -- $(DESTDIR)$(LIBDIR)/Database/database/sqlite2.so
|
||||
$(RM) -- $(DESTDIR)$(LIBDIR)/Database/database/sqlite3.so
|
||||
$(RM) -- $(DESTDIR)$(LIBDIR)/Database/engine/pgsql.so
|
||||
$(RM) -- $(DESTDIR)$(LIBDIR)/Database/engine/sqlite2.so
|
||||
$(RM) -- $(DESTDIR)$(LIBDIR)/Database/engine/sqlite3.so
|
||||
|
||||
.PHONY: all clean distclean install uninstall
|
||||
|
|
|
@ -8,7 +8,7 @@ type=plugin
|
|||
cppflags=-I `pg_config --includedir`
|
||||
ldflags=-L `pg_config --libdir` -Wl,-rpath,`pg_config --libdir` `pg_config --libs` -lpq
|
||||
sources=pgsql.c
|
||||
install=$(LIBDIR)/Database/database
|
||||
install=$(LIBDIR)/Database/engine
|
||||
|
||||
[pgsql.c]
|
||||
depends=database.h
|
||||
|
@ -18,7 +18,7 @@ type=plugin
|
|||
cflags=`pkg-config --cflags sqlite`
|
||||
ldflags=`pkg-config --libs sqlite`
|
||||
sources=sqlite2.c
|
||||
install=$(LIBDIR)/Database/database
|
||||
install=$(LIBDIR)/Database/engine
|
||||
|
||||
[sqlite2.c]
|
||||
depends=database.h
|
||||
|
@ -28,7 +28,7 @@ type=plugin
|
|||
cflags=`pkg-config --cflags sqlite3`
|
||||
ldflags=`pkg-config --libs sqlite3`
|
||||
sources=sqlite3.c
|
||||
install=$(LIBDIR)/Database/database
|
||||
install=$(LIBDIR)/Database/engine
|
||||
|
||||
[sqlite3.c]
|
||||
depends=database.h
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
subdirs=database
|
||||
targets=database.o
|
||||
targets=libDatabase
|
||||
cflags_force=-W -fPIC
|
||||
cflags=-Wall -g -O2 -pedantic
|
||||
dist=Makefile
|
||||
|
||||
[database.o]
|
||||
type=object
|
||||
[libDatabase]
|
||||
type=library
|
||||
sources=database.c
|
||||
|
||||
[database.c]
|
||||
|
|
Loading…
Reference in New Issue
Block a user