root/XerialJ/trunk/sqlite-jdbc/sqlitejdbc/Makefile.common

Revision 3597, 2.5 kB (checked in by leo, 2 years ago)

Applied a patch provided by Flavio Sugimoto

Line 
1include ../VERSION
2
3ifndef JAVA_HOME
4$(error Set JAVA_HOME environment variable)
5endif
6
7ifeq ($(os),)
8        ifeq ($(shell uname),Darwin)
9                os := Darwin
10        endif
11        ifeq ($(findstring CYGWIN,$(shell uname)),CYGWIN)
12                os := Win
13        endif
14        ifeq ($(findstring MINGW,$(shell uname)),MINGW)
15                os := Win
16        endif
17endif
18ifeq ($(os),)
19        os := Default
20endif
21
22# Windows uses different path separators, because they hate me
23ifeq ($(os),Win)
24        sep := ;
25else
26        sep := :
27endif
28
29ifeq ($(arch),)
30arch := $(shell uname -m)
31endif
32
33sqlite := sqlite-$(version)
34
35jni_md := $(shell find -L "$(JAVA_HOME)" -name jni_md.h)
36ifneq ($(jni_md),)
37jni_include := $(shell dirname "$(jni_md)")
38endif
39
40libjdbc  := $(wildcard lib/jdbc-*.jar)
41libjunit := $(wildcard lib/junit-*.jar)
42
43JAVA  := "$$JAVA_HOME/bin/java"
44JAVAC := "$$JAVA_HOME/bin/javac" -Xbootclasspath/p:$(libjdbc)
45JAVAH := "$$JAVA_HOME/bin/javah"
46
47java_sources = $(wildcard ../src/main/java/org/sqlite/*.java)
48java_classes = $(java_sources:../src/main/java/org/sqlite/%.java=build/org/sqlite/%.class)
49native_classes = $(filter-out %NestedDB.class,$(java_classes))
50java_classlist = $(subst $$,\$$,$(patsubst build/%, %, $(wildcard $(java_classes:%.class=%*))))
51test_sources = $(wildcard ../src/test/java/org/sqlite/*.java)
52test_classes = $(test_sources:../src/test/java/org/sqlite/%.java=build/test/org/sqlite/%.class)
53tests        = $(subst /,.,$(patsubst build/test/org/sqlite/%.class,org/sqlite/%,$(test_classes)))
54
55target     := $(os)-$(arch)
56
57# os=Default is meant to be generic unix/linux
58Default_CC        := gcc
59Default_STRIP     := strip
60Default_CFLAGS    := -I$(JAVA_HOME)/include -Ilib/inc_mac -Os -fPIC
61Default_LINKFLAGS := -shared
62Default_LIBNAME   := libsqlitejdbc.so
63
64Support10_4 := -isysroot /Developer/SDKs/MacOSX10.4u.sdk
65#Darwin_CC        := gcc -arch $(arch) -mmacosx-version-min=10.4 $(Support10_4)
66Darwin_CC        := gcc -arch $(arch)
67Darwin_STRIP     := strip -x
68Darwin_CFLAGS    := -I$(JAVA_HOME)/include -Os -fPIC
69Darwin_LINKFLAGS := -dynamiclib $(Support10_4)
70Darwin_LIBNAME   := libsqlitejdbc.jnilib
71
72#Win_CC           := $(arch)-mingw32msvc-gcc
73#Win_STRIP        := $(arch)-mingw32msvc-strip
74Win_CC           := mingw32-gcc
75Win_STRIP        := strip
76Win_CFLAGS       := -D_JNI_IMPLEMENTATION_ -Ilib/inc_win -O
77Win_LINKFLAGS    := -Wl,--kill-at -shared
78Win_LIBNAME      := sqlitejdbc.dll
79
80CC        := $($(os)_CC)
81STRIP     := $($(os)_STRIP)
82CFLAGS    := $($(os)_CFLAGS)
83LINKFLAGS := $($(os)_LINKFLAGS)
84LIBNAME   := $($(os)_LIBNAME)
85
86CFLAGS := $(CFLAGS) -Ibuild/$(sqlite)-$(target) -Ibuild
87ifneq ($(jni_include),)
88CFLAGS := $(CFLAGS) -I"$(jni_include)"
89endif
Note: See TracBrowser for help on using the browser.