Makefile 5.7 KB
Newer Older
F
fyrz 已提交
1 2 3 4 5 6
NATIVE_JAVA_CLASSES = org.rocksdb.AbstractComparator\
	org.rocksdb.AbstractSlice\
	org.rocksdb.BackupableDB\
	org.rocksdb.BackupableDBOptions\
	org.rocksdb.BlockBasedTableConfig\
	org.rocksdb.BloomFilter\
F
fyrz 已提交
7
	org.rocksdb.Checkpoint\
F
fyrz 已提交
8
	org.rocksdb.ColumnFamilyHandle\
9
	org.rocksdb.ColumnFamilyOptions\
F
fyrz 已提交
10 11 12 13 14
	org.rocksdb.Comparator\
	org.rocksdb.ComparatorOptions\
	org.rocksdb.DBOptions\
	org.rocksdb.DirectComparator\
	org.rocksdb.DirectSlice\
F
fyrz 已提交
15
	org.rocksdb.FlushOptions\
F
fyrz 已提交
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
	org.rocksdb.Filter\
	org.rocksdb.GenericRateLimiterConfig\
	org.rocksdb.HashLinkedListMemTableConfig\
	org.rocksdb.HashSkipListMemTableConfig\
	org.rocksdb.MergeOperator\
	org.rocksdb.Options\
	org.rocksdb.PlainTableConfig\
	org.rocksdb.ReadOptions\
	org.rocksdb.RestoreBackupableDB\
	org.rocksdb.RestoreOptions\
	org.rocksdb.RocksDB\
	org.rocksdb.RocksEnv\
	org.rocksdb.RocksIterator\
	org.rocksdb.SkipListMemTableConfig\
	org.rocksdb.Slice\
	org.rocksdb.Statistics\
F
fyrz 已提交
32
	org.rocksdb.TransactionLogIterator\
F
fyrz 已提交
33
	org.rocksdb.TtlDB\
F
fyrz 已提交
34 35 36 37
	org.rocksdb.VectorMemTableConfig\
	org.rocksdb.StringAppendOperator\
	org.rocksdb.WriteBatch\
	org.rocksdb.WriteBatch.Handler\
F
fyrz 已提交
38 39
	org.rocksdb.test.WriteBatchInternal\
	org.rocksdb.test.WriteBatchTest\
F
fyrz 已提交
40
    org.rocksdb.WriteOptions\
41 42
	org.rocksdb.WriteBatchWithIndex\
	org.rocksdb.WBWIRocksIterator
A
Ankit Gupta 已提交
43

44 45 46
ROCKSDB_MAJOR = $(shell egrep "ROCKSDB_MAJOR.[0-9]" ../include/rocksdb/version.h | cut -d ' ' -f 3)
ROCKSDB_MINOR = $(shell egrep "ROCKSDB_MINOR.[0-9]" ../include/rocksdb/version.h | cut -d ' ' -f 3)
ROCKSDB_PATCH = $(shell egrep "ROCKSDB_PATCH.[0-9]" ../include/rocksdb/version.h | cut -d ' ' -f 3)
47

48
NATIVE_INCLUDE = ./include
49
ARCH := $(shell getconf LONG_BIT)
50
ROCKSDB_JAR = rocksdbjni-$(ROCKSDB_MAJOR).$(ROCKSDB_MINOR).$(ROCKSDB_PATCH)-linux$(ARCH).jar
51
ifeq ($(PLATFORM), OS_MACOSX)
52
ROCKSDB_JAR = rocksdbjni-$(ROCKSDB_MAJOR).$(ROCKSDB_MINOR).$(ROCKSDB_PATCH)-osx.jar
53
endif
54

55 56
JAVA_TESTS = org.rocksdb.test.BackupableDBOptionsTest\
        org.rocksdb.test.BackupableDBTest\
F
fyrz 已提交
57
		org.rocksdb.test.BlockBasedTableConfigTest\
F
fyrz 已提交
58
		org.rocksdb.test.CheckPointTest\
F
fyrz 已提交
59 60 61 62
		org.rocksdb.test.ColumnFamilyOptionsTest\
		org.rocksdb.test.ColumnFamilyTest\
		org.rocksdb.test.ComparatorOptionsTest\
		org.rocksdb.test.ComparatorTest\
F
fyrz 已提交
63
		org.rocksdb.test.CompressionOptionsTest\
F
fyrz 已提交
64 65
		org.rocksdb.test.DBOptionsTest\
		org.rocksdb.test.DirectComparatorTest\
66
		org.rocksdb.test.DirectSliceTest\
67
		org.rocksdb.test.EnvironmentTest\
F
fyrz 已提交
68 69
		org.rocksdb.test.FilterTest\
		org.rocksdb.test.FlushTest\
F
fyrz 已提交
70
		org.rocksdb.test.InfoLogLevelTest\
F
fyrz 已提交
71 72 73 74 75 76 77 78
		org.rocksdb.test.KeyMayExistTest\
		org.rocksdb.test.MemTableTest\
		org.rocksdb.test.MergeTest\
		org.rocksdb.test.MixedOptionsTest\
		org.rocksdb.test.OptionsTest\
		org.rocksdb.test.PlainTableConfigTest\
		org.rocksdb.test.ReadOnlyTest\
		org.rocksdb.test.ReadOptionsTest\
F
fyrz 已提交
79
		org.rocksdb.test.RocksDBTest\
80
		org.rocksdb.test.RocksEnvTest\
F
fyrz 已提交
81
		org.rocksdb.test.RocksIteratorTest\
82
		org.rocksdb.test.SizeUnitTest\
83
		org.rocksdb.test.SliceTest\
F
fyrz 已提交
84
		org.rocksdb.test.SnapshotTest\
F
fyrz 已提交
85
		org.rocksdb.test.TransactionLogIteratorTest\
F
fyrz 已提交
86
		org.rocksdb.test.TtlDBTest\
F
fyrz 已提交
87
		org.rocksdb.test.StatisticsCollectorTest\
F
fyrz 已提交
88
		org.rocksdb.test.WriteBatchHandlerTest\
F
fyrz 已提交
89
		org.rocksdb.test.WriteBatchTest\
F
fyrz 已提交
90
		org.rocksdb.test.WriteOptionsTest\
91
		org.rocksdb.test.WriteBatchWithIndexTest
F
fyrz 已提交
92 93 94 95 96 97 98 99 100

JAVA_TEST_LIBDIR = ./test-libs/
JAVA_JUNIT_JAR = $(JAVA_TEST_LIBDIR)junit-4.12-beta-2.jar
JAVA_HAMCR_JAR = $(JAVA_TEST_LIBDIR)hamcrest-core-1.3.jar
JAVA_MOCKITO_JAR = $(JAVA_TEST_LIBDIR)mockito-all-1.9.5.jar
JAVA_CGLIB_JAR = $(JAVA_TEST_LIBDIR)cglib-2.2.2.jar
JAVA_ASSERTJ_JAR = $(JAVA_TEST_LIBDIR)assertj-core-1.7.0.jar
JAVA_TESTCLASSPATH = $(ROCKSDB_JAR):$(JAVA_JUNIT_JAR):$(JAVA_HAMCR_JAR):$(JAVA_MOCKITO_JAR):$(JAVA_CGLIB_JAR):$(JAVA_ASSERTJ_JAR):.:./*

101 102
clean:
	-find . -name "*.class" -exec rm {} \;
F
fyrz 已提交
103
	rm -rf include/*
C
Chris Riccomini 已提交
104
	rm -rf javadoc/*
F
fyrz 已提交
105
	rm -rf test-libs/
F
fyrz 已提交
106
	rm -rf target
107
	rm -rf librocksdbjni*
F
fyrz 已提交
108
	rm -f rocksdbjni*
F
fyrz 已提交
109

110

111
javadocs:
F
fyrz 已提交
112
	mkdir -p javadoc; javadoc -d javadoc -sourcepath . -subpackages org -exclude org.rocksdb.test
113

F
fyrz 已提交
114 115 116
javalib: java javadocs

java: resolve_test_deps
117
	javac org/rocksdb/util/*.java org/rocksdb/*.java
F
fyrz 已提交
118
	javac -cp $(JAVA_TESTCLASSPATH) org/rocksdb/test/*.java
119 120
	@cp ../HISTORY.md ./HISTORY-CPP.md
	@rm -f ./HISTORY-CPP.md
121 122
	javah -d $(NATIVE_INCLUDE) -jni $(NATIVE_JAVA_CLASSES)

123
sample: java
124
	javac -cp $(ROCKSDB_JAR) RocksDBSample.java
125 126
	@rm -rf /tmp/rocksdbjni
	@rm -rf /tmp/rocksdbjni_not_found
A
Ankit Gupta 已提交
127
	java -ea -Djava.library.path=.:../ -cp ".:./*" -Xcheck:jni RocksDBSample /tmp/rocksdbjni
128 129
	@rm -rf /tmp/rocksdbjni
	@rm -rf /tmp/rocksdbjni_not_found
130

F
fyrz 已提交
131 132 133 134 135 136
column_family_sample: java
	javac -cp $(ROCKSDB_JAR) RocksDBColumnFamilySample.java
	@rm -rf /tmp/rocksdbjni
	java -ea -Djava.library.path=.:../ -cp ".:./*" -Xcheck:jni RocksDBColumnFamilySample /tmp/rocksdbjni
	@rm -rf /tmp/rocksdbjni

F
fyrz 已提交
137 138
resolve_test_deps:
	mkdir -p "$(JAVA_TEST_LIBDIR)"
139 140 141 142 143
	test -s "$(JAVA_JUNIT_JAR)" || curl -k -L -o $(JAVA_JUNIT_JAR) http://search.maven.org/remotecontent?filepath=junit/junit/4.12-beta-2/junit-4.12-beta-2.jar
	test -s "$(JAVA_HAMCR_JAR)" || curl -k -L -o $(JAVA_HAMCR_JAR) http://search.maven.org/remotecontent?filepath=org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
	test -s "$(JAVA_MOCKITO_JAR)" || curl -k -L -o "$(JAVA_MOCKITO_JAR)" http://search.maven.org/remotecontent?filepath=org/mockito/mockito-all/1.9.5/mockito-all-1.9.5.jar
	test -s "$(JAVA_CGLIB_JAR)" || curl -k -L -o "$(JAVA_CGLIB_JAR)" http://search.maven.org/remotecontent?filepath=cglib/cglib/2.2.2/cglib-2.2.2.jar
	test -s "$(JAVA_ASSERTJ_JAR)" || curl -k -L -o "$(JAVA_ASSERTJ_JAR)" http://central.maven.org/maven2/org/assertj/assertj-core/1.7.0/assertj-core-1.7.0.jar
F
fyrz 已提交
144 145

test: java resolve_test_deps
146
	java -ea -Xcheck:jni -Djava.library.path=.:../ -cp "$(JAVA_TESTCLASSPATH)" org.rocksdb.test.RocksJunitRunner $(JAVA_TESTS)
147 148 149

db_bench: java
	javac org/rocksdb/benchmark/*.java