libdb/lang/sql/sqlite/ext/bfile/build/Makefile

111 lines
3.6 KiB
Makefile
Raw Normal View History

2011-09-13 17:44:24 +00:00
#!/usr/make
#
# Makefile for DBSQL BFile
#
# This makefile is suppose to be build for linux and windriver-ovia.
# But if that does not work for you, you can configure the makefile
# manually. Just set the parameters below to values that
# work well for your system.
#
# The toplevel directory of the source tree.
#
TOP = ../
# When manipulating BFILE, if you want to use c-functions set it to 1;
# Otherwise, set it to zero
ENABLE_BFILE_CAPI = 0
# The ovia options
#
ifeq ($(BUILD_OVIA), 1)
CROSS_COMPILE = arm-wrs-linux-gnueabi-arm_novfp-glibc_small-
CFLAGS += -msoft-float
CFLAGS += -I$(WIND_BASE)/wrlinux/target-libs/glibc_small/arm-wrs-linux-gnueabi-arm_novfp/include
CFLAGS += -L$(WIND_BASE)/wrlinux/target-libs/glibc_small/arm-wrs-linux-gnueabi-arm_novfp/lib
#TLIBS += -ldl
endif
# C Compile and options for use in building executables that
# will run on the target platform.
#
TCC = $(CROSS_COMPILE)gcc
TCC += $(CFLAGS) -fPIC -O3 -I${TOP}/include -I$(DBSQL_DIR)/include -I../../../../generated -I../../../src
ifeq ($(ENABLE_BFILE_CAPI), 1)
TCC += -DBFILE_USE_CAPIS
endif
# Any target libraries which libsqlite must be linked against
#
TLIBS += -lpthread -ldl
# The directory into which to store package information for
# Some standard variables and programs
#
prefix = $(DBSQL_DIR)
exec_prefix = ${prefix}
libdir = ${exec_prefix}/lib
includedir = ${prefix}/include
INSTALL = /usr/bin/install -c
# You should not have to change anything below this line
###############################################################################
# This is the default Makefile target. The objects listed here
# are what get build when you type just "make" with no arguments.
#
ifndef DBSQL_DIR
all:
echo "Please set the correct path for DBSQL_DIR"
else
all: libbfile_ext.so bfile_test bfile_example
endif
libbfile_ext.so: $(TOP)/src/bfile.c $(TOP)/include/bfile.h
$(TCC) $(TOP)/src/bfile.c -o libbfile_ext.so -shared
ifeq ($(ENABLE_BFILE_CAPI), 0)
bfile_test: $(TOP)/test/bfile_test_sql.c $(TOP)/include/bfile.h libbfile_ext.so
$(TCC) $(TOP)/test/bfile_test_sql.c -o bfile_test_sql $(TLIBS) -L. -lbfile_ext -L$(DBSQL_DIR)/lib -ldb_sql -ldl
bfile_example: $(TOP)/examples/bfile_example_sql.c $(TOP)/include/bfile.h libbfile_ext.so
$(TCC) $(TOP)/examples/bfile_example_sql.c -o bfile_example_sql $(TLIBS) -L. -lbfile_ext -L$(DBSQL_DIR)/lib -ldb_sql -ldl
else
bfile_test: $(TOP)/test/bfile_test_capi.c $(TOP)/include/bfile.h libbfile_ext.so
$(TCC) $(TOP)/test/bfile_test_capi.c -o bfile_test_capi $(TLIBS) -L. -lbfile_ext -L$(DBSQL_DIR)/lib -ldb_sql -ldl
bfile_example: $(TOP)/examples/bfile_example_capi.c $(TOP)/include/bfile.h libbfile_ext.so
$(TCC) $(TOP)/examples/bfile_example_capi.c -o bfile_example_capi $(TLIBS) -L. -lbfile_ext -L$(DBSQL_DIR)/lib -ldb_sql -ldl
endif
install: libbfile_ext.so $(TOP)/include/bfile.h
$(INSTALL) -m 0755 libbfile_ext.so $(DESTDIR)$(libdir)
$(INSTALL) -m 0644 $(TOP)/include/bfile.h $(DESTDIR)$(includedir)
clean:
rm -rf *.jpg *.db* libbfile_ext.so bfile_test bfile_example
# Makefile can not test for ovia. It sould be copy to ovia platform.
# The follow target only suit for linux.
#
ifeq ($(BUILD_OVIA), 0)
test: bfile_test
env LD_LIBRARY_PATH=.:$(DBSQL_DIR)/lib:$(LD_LIBRARY_PATH) ./bfile_test
endif
ifdef TESTFIXTURE
ifdef TEST_DIR
tcl_test: $(TOP)/test/bfile.test
cp $(TOP)/test/bfile.test $(TEST_DIR)/
env LD_LIBRARY_PATH=.:$(DBSQL_DIR)/lib:$(LD_LIBRARY_PATH) $(TESTFIXTURE) $(TEST_DIR)/bfile.test
else
tcl_test:
-echo "Please set the correct fullpath for TEST_DIR"
endif
else
tcl_test:
-echo "Please set the correct fullpath for TESTFIXTURE"
endif
run: bfile_example
env LD_LIBRARY_PATH=.:$(DBSQL_DIR)/lib:$(LD_LIBRARY_PATH) ./bfile_example