blob: c8639ac6c1b7db72ff92a2a30298d33a77f0dfba [file] [log] [blame]
Marc Kupietz28cc53e2017-12-23 17:24:55 +01001PLATFORM_CCFLAGS= -DROCKSDB_PLATFORM_POSIX -DROCKSDB_LIB_IO_POSIX -DOS_LINUX -fno-builtin-memcmp -DROCKSDB_FALLOCATE_PRESENT -DSNAPPY -DGFLAGS=1 -DZLIB -DBZIP2 -DLZ4 -DZSTD -DROCKSDB_MALLOC_USABLE_SIZE -DROCKSDB_PTHREAD_ADAPTIVE_MUTEX -DROCKSDB_BACKTRACE -DROCKSDB_RANGESYNC_PRESENT -DROCKSDB_SCHED_GETCPU_PRESENT -march=native -DROCKSDB_SUPPORT_THREAD_LOCAL
2PLATFORM_CXXFLAGS=-std=c++11 -DROCKSDB_PLATFORM_POSIX -DROCKSDB_LIB_IO_POSIX -DOS_LINUX -fno-builtin-memcmp -DROCKSDB_FALLOCATE_PRESENT -DSNAPPY -DGFLAGS=1 -DZLIB -DBZIP2 -DLZ4 -DZSTD -DROCKSDB_MALLOC_USABLE_SIZE -DROCKSDB_PTHREAD_ADAPTIVE_MUTEX -DROCKSDB_BACKTRACE -DROCKSDB_RANGESYNC_PRESENT -DROCKSDB_SCHED_GETCPU_PRESENT -march=native -DROCKSDB_SUPPORT_THREAD_LOCAL
3PLATFORM=OS_LINUX
Marc Kupietzd1659762018-06-05 11:22:12 +02004PLATFORM_LDFLAGS= -L/usr/local/lib -lpthread -lrt -lsnappy -lz -lbz2 -llz4 -lzstd
Marc Kupietz28cc53e2017-12-23 17:24:55 +01005
Marc Kupietzc8ddf452018-01-07 21:33:12 +01006CXXFLAGS = -Wall -Wno-reorder -I/usr/local/include -g -std=c++11 -Ofast -march=k8
7CFLAGS = -Wall -I/usr/local/include -g -std=gnu99 -O2 -march=k8
Marc Kupietz4b799e92018-01-02 11:04:56 +01008
9ARFLAGS = ${EXTRA_ARFLAGS} rs
Marc Kupietz18375e12017-12-24 10:11:18 +010010
Marc Kupietz28cc53e2017-12-23 17:24:55 +010011ifneq ($(USE_RTTI), 1)
12 CXXFLAGS += -fno-rtti
13endif
14LIB_SOURCES = collocatordb.cc
15
16LIBOBJECTS = $(LIB_SOURCES:.cc=.o)
Marc Kupietzd1659762018-06-05 11:22:12 +020017INSTALL_PATH = /usr/local
Marc Kupietz28cc53e2017-12-23 17:24:55 +010018
Marc Kupietz678185d2018-06-05 13:37:02 +020019hello_world: hello_world.c collocatordb.h collocatordb.o Makefile
20 $(CC) $(CFLAGS) -L. -L/usr/local/lib $@.c -o$@ collocatordb.o /vol/work/kupietz/rocksdb/librocksdb.a -std=gnu99 -lstdc++ -lm $(PLATFORM_LDFLAGS) $(PLATFORM_CCFLAGS) $(EXEC_LDFLAGS)
21
Marc Kupietz4b799e92018-01-02 11:04:56 +010022testcdb: testcdb.cc collocatordb.h collocatordb.o Makefile
23 $(CXX) $(CXXFLAGS) -L. -L/usr/local/lib $@.cc -o$@ collocatordb.o -lrocksdb $(PLATFORM_LDFLAGS) $(PLATFORM_CXXFLAGS) $(EXEC_LDFLAGS)
24
Marc Kupietz3400aa52018-06-05 10:28:55 +020025dumpllr: dumpllr.cc collocatordb.h collocatordb.o Makefile
26 $(CXX) $(CXXFLAGS) -L. -L/usr/local/lib $@.cc -fopenmp -o$@ collocatordb.o /vol/work/kupietz/rocksdb/librocksdb.a $(PLATFORM_LDFLAGS) $(PLATFORM_CXXFLAGS) $(EXEC_LDFLAGS)
27
Marc Kupietzb5bb1942018-10-07 17:59:43 +020028dumppmicubed: dumppmicubed.cc collocatordb.h collocatordb.o Makefile
29 $(CXX) $(CXXFLAGS) -L. -L/usr/local/lib $@.cc -fopenmp -o$@ collocatordb.o /vol/work/kupietz/rocksdb/librocksdb.a $(PLATFORM_LDFLAGS) $(PLATFORM_CXXFLAGS) $(EXEC_LDFLAGS)
30
Marc Kupietz06c9a9f2018-01-02 16:56:43 +010031c_testcdb: c_testcdb.c collocatordb.h collocatordb.o Makefile
Marc Kupietzc8ddf452018-01-07 21:33:12 +010032 $(CC) $(CFLAGS) -L. -L/usr/local/lib $@.c -o$@ collocatordb.o -std=gnu99 -lstdc++ -lm -lrocksdb $(PLATFORM_LDFLAGS) $(PLATFORM_CCFLAGS) $(EXEC_LDFLAGS)
33
Marc Kupietz4b799e92018-01-02 11:04:56 +010034collocatordb: collocatordb.cc Makefile
Marc Kupietz18375e12017-12-24 10:11:18 +010035 $(CXX) $(CXXFLAGS) -L/usr/local/lib $@.cc -o$@ -lrocksdb $(PLATFORM_LDFLAGS) $(PLATFORM_CXXFLAGS) $(EXEC_LDFLAGS)
Marc Kupietz28cc53e2017-12-23 17:24:55 +010036
37libcollocatordb.a: $(LIBOBJECTS)
Marc Kupietz4b799e92018-01-02 11:04:56 +010038 $(AM_V_AR)rm -f $@
Marc Kupietz28cc53e2017-12-23 17:24:55 +010039 $(AM_V_at)$(AR) $(ARFLAGS) $@ $(LIBOBJECTS)
40
Marc Kupietz4b799e92018-01-02 11:04:56 +010041libcollocatordb.so.1: collocatordb.cc
Marc Kupietzfe6ad802019-01-24 16:08:44 +010042 $(CXX) $(CXXFLAGS) -D_GLIBCXX_PARALLEL -march=native -Ofast -fopenmp -c collocatordb.cc -Wl,-soname=libcollocatordb.so.1 -Wl,--version-script=collocatordb.exmap -shared -fPIC -o libcollocatordb.so.1
Marc Kupietz4b799e92018-01-02 11:04:56 +010043
Marc Kupietz28cc53e2017-12-23 17:24:55 +010044.cc.o:
Marc Kupietz18375e12017-12-24 10:11:18 +010045 $(CXX) $(CXXFLAGS) -c $< -o$@ $(PLATFORM_CXXFLAGS)
Marc Kupietzd1659762018-06-05 11:22:12 +020046
47install-static: libcollocatordb.a
48 install -C -m 755 libcollocatordb.a $(INSTALL_PATH)/lib
49
50install-shared: libcollocatordb.so.1
51 install -C -m 755 libcollocatordb.so.1 $(INSTALL_PATH)/lib && \
52 ln -fs $(INSTALL_PATH)/lib/libcollocatordb.so.1 $(INSTALL_PATH)/lib/libcollocatordb.so