1 # use JDK1.5 to build native libraries
\r
4 sqlite := sqlite-$(sqlite_version)
\r
6 #CURRENT_DIR = $(shell cygpath -w `pwd`)
\r
7 RESOURCE_DIR = src/main/resources
\r
9 ifeq ($(findstring CYGWIN,$(shell uname)),CYGWIN)
\r
12 ifeq ($(findstring MINGW,$(shell uname)),MINGW)
\r
15 ifeq ($(shell uname),Darwin)
\r
25 arch := $(shell uname -m)
\r
28 target = $(OS)-$(arch)
\r
30 Default_LIBNAME := libsqlitejdbc.so
\r
31 Darwin_LIBNAME := libsqlitejdbc.jnilib
\r
32 Win_LIBNAME := sqlitejdbc.dll
\r
33 LIBNAME := $($(OS)_LIBNAME)
\r
36 .phony: all package win mac linux native deploy
\r
44 OSInfoClass=org/sqlite/OSInfo
\r
45 OSINFO_PROG=target/sqlitejdbc/$(OSInfoClass).class
\r
46 SQLITE_DLL=sqlitejdbc/build/$(target)/$(LIBNAME)
\r
47 SQLITE_BUILD_DIR=sqlitejdbc/build/$(sqlite)-$(target)
\r
49 LIB_FOLDER = $(shell java -cp target/sqlitejdbc $(OSInfoClass))
\r
50 WORK_DIR=target/dll/$(sqlite)/native
\r
51 UPDATE_FLAG=target/dll/$(sqlite)/UPDATE
\r
53 $(OSINFO_PROG): src/main/java/$(OSInfoClass).java
\r
54 mkdir -p target/sqlitejdbc
\r
55 javac $< -d target/sqlitejdbc
\r
57 $(SQLITE_DLL): $(SQLITE_BUILD_DIR)
\r
59 $(SQLITE_BUILD_DIR): Makefile sqlitejdbc/Makefile
\r
60 cd sqlitejdbc && make native
\r
62 #$(NATIVE_DLL): $(OSINFO_PROG) $(SQLITE_DLL)
\r
63 # mkdir -p $(WORK_DIR)/$(LIB_FOLDER)
\r
64 # cp $(SQLITE_DLL) $(WORK_DIR)/$(LIB_FOLDER)
\r
66 #native: sqlitejdbc/build/$(target)/$(LIBNAME) target/sqlitejdbc/$(OSInfoClass).class
\r
68 $(UPDATE_FLAG): $(OSINFO_PROG) $(SQLITE_DLL)
\r
69 mkdir -p $(WORK_DIR)/$(LIB_FOLDER)
\r
70 cp $(SQLITE_DLL) $(WORK_DIR)/$(LIB_FOLDER)
\r
71 touch $(UPDATE_FLAG)
\r
73 native: $(UPDATE_FLAG)
\r
75 NATIVE_DLL=$(WORK_DIR)/$(LIB_FOLDER)/$(LIBNAME)
\r
77 package: $(UPDATE_FLAG)
\r
78 mkdir -p $(RESOURCE_DIR)/native/$(LIB_FOLDER)
\r
79 cp $(NATIVE_DLL) $(RESOURCE_DIR)/native/$(LIB_FOLDER)
\r
83 rm -rf sqlitejdbc/build/$(sqlite)-$(target)
\r
86 cd sqlitejdbc && make -f Makefile.nested
\r
87 mkdir -p $(RESOURCE_DIR)/org/sqlite
\r
88 cp sqlitejdbc/build/org/sqlite/SQLite.class $(RESOURCE_DIR)/org/sqlite/
\r
91 cd sqlitejdbc && make clean
\r
92 rm -rf sqlitejdbc/dl
\r