mirror of
https://github.com/berkeleydb/libdb.git
synced 2024-11-17 17:36:24 +00:00
111 lines
3.6 KiB
Makefile
111 lines
3.6 KiB
Makefile
|
#!/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
|
||
|
|