Marc Kupietz | ad33204 | 2021-03-13 18:05:14 +0100 | [diff] [blame] | 1 | COLLOCATDB_MAJOR=1 |
| 2 | COLLOCATDB_MINOR=2 |
| 3 | COLLOCATDB_PATCH=0 |
| 4 | |
| 5 | INSTALL_PATH ?= /usr/local |
| 6 | |
Marc Kupietz | 28cc53e | 2017-12-23 17:24:55 +0100 | [diff] [blame] | 7 | PLATFORM_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 |
| 8 | PLATFORM_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 |
| 9 | PLATFORM=OS_LINUX |
Marc Kupietz | ad33204 | 2021-03-13 18:05:14 +0100 | [diff] [blame] | 10 | PLATFORM_LDFLAGS= -L$(INSTALL_PATH)/lib -Wl,-rpath=$(INSTALL_PATH)/lib -lpthread -lrt -lsnappy -lz -lbz2 -llz4 -lzstd |
Marc Kupietz | 28cc53e | 2017-12-23 17:24:55 +0100 | [diff] [blame] | 11 | |
Marc Kupietz | ad33204 | 2021-03-13 18:05:14 +0100 | [diff] [blame] | 12 | CXXFLAGS = -Wall -Wno-reorder -I/usr/local/include -g -std=c++11 -Ofast |
| 13 | CFLAGS = -Wall -I/usr/local/rocksdb -I$(INSTALL_PATH)/include -g -std=gnu99 -O2 |
Marc Kupietz | 4b799e9 | 2018-01-02 11:04:56 +0100 | [diff] [blame] | 14 | |
| 15 | ARFLAGS = ${EXTRA_ARFLAGS} rs |
Marc Kupietz | 18375e1 | 2017-12-24 10:11:18 +0100 | [diff] [blame] | 16 | |
Marc Kupietz | 28cc53e | 2017-12-23 17:24:55 +0100 | [diff] [blame] | 17 | ifneq ($(USE_RTTI), 1) |
| 18 | CXXFLAGS += -fno-rtti |
| 19 | endif |
| 20 | LIB_SOURCES = collocatordb.cc |
| 21 | |
| 22 | LIBOBJECTS = $(LIB_SOURCES:.cc=.o) |
Marc Kupietz | ad33204 | 2021-03-13 18:05:14 +0100 | [diff] [blame] | 23 | |
| 24 | .PHONY: static_lib shared_lib install-static install-shared |
| 25 | |
| 26 | all: static_lib shared_lib dumpllr c_testcdb |
| 27 | |
| 28 | install: install-static install-shared |
Marc Kupietz | 28cc53e | 2017-12-23 17:24:55 +0100 | [diff] [blame] | 29 | |
Marc Kupietz | 678185d | 2018-06-05 13:37:02 +0200 | [diff] [blame] | 30 | hello_world: hello_world.c collocatordb.h collocatordb.o Makefile |
Marc Kupietz | ad33204 | 2021-03-13 18:05:14 +0100 | [diff] [blame] | 31 | $(CC) $(CFLAGS) -L. -L$(INSTALL_PATH)/lib $@.c -o$@ collocatordb.o --std=gnu99 -lstdc++ -lm $(PLATFORM_LDFLAGS) $(PLATFORM_CCFLAGS) $(EXEC_LDFLAGS) -lrocksdb |
Marc Kupietz | 678185d | 2018-06-05 13:37:02 +0200 | [diff] [blame] | 32 | |
Marc Kupietz | 4b799e9 | 2018-01-02 11:04:56 +0100 | [diff] [blame] | 33 | testcdb: testcdb.cc collocatordb.h collocatordb.o Makefile |
Marc Kupietz | ad33204 | 2021-03-13 18:05:14 +0100 | [diff] [blame] | 34 | $(CXX) $(CXXFLAGS) -L. -L$(INSTALL_PATH)/lib $@.cc -o$@ collocatordb.o -lrocksdb $(PLATFORM_LDFLAGS) $(PLATFORM_CXXFLAGS) $(EXEC_LDFLAGS) |
Marc Kupietz | 4b799e9 | 2018-01-02 11:04:56 +0100 | [diff] [blame] | 35 | |
Marc Kupietz | 3400aa5 | 2018-06-05 10:28:55 +0200 | [diff] [blame] | 36 | dumpllr: dumpllr.cc collocatordb.h collocatordb.o Makefile |
Marc Kupietz | ad33204 | 2021-03-13 18:05:14 +0100 | [diff] [blame] | 37 | $(CXX) $(CXXFLAGS) -L. -L$(INSTALL_PATH)/lib $@.cc -fopenmp -o$@ collocatordb.o $(INSTALL_PATH)/lib/librocksdb.a $(PLATFORM_LDFLAGS) $(PLATFORM_CXXFLAGS) $(EXEC_LDFLAGS) |
Marc Kupietz | 3400aa5 | 2018-06-05 10:28:55 +0200 | [diff] [blame] | 38 | |
Marc Kupietz | b5bb194 | 2018-10-07 17:59:43 +0200 | [diff] [blame] | 39 | dumppmicubed: dumppmicubed.cc collocatordb.h collocatordb.o Makefile |
Marc Kupietz | ad33204 | 2021-03-13 18:05:14 +0100 | [diff] [blame] | 40 | $(CXX) $(CXXFLAGS) -L. -L$(INSTALL_PATH)/lib $@.cc -fopenmp -o$@ collocatordb.o -lrocksdb $(PLATFORM_LDFLAGS) $(PLATFORM_CXXFLAGS) $(EXEC_LDFLAGS) |
| 41 | |
| 42 | dumpldafdiff: dumpldafdiff.cc collocatordb.h collocatordb.o Makefile |
| 43 | $(CXX) $(CXXFLAGS) -D_GLIBCXX_PARALLEL -L. -L$(INSTALL_PATH)/lib $@.cc -fopenmp -o$@ collocatordb.o /vol/work/kupietz/rocksdb/librocksdb.a $(PLATFORM_LDFLAGS) $(PLATFORM_CXXFLAGS) $(EXEC_LDFLAGS) |
Marc Kupietz | b5bb194 | 2018-10-07 17:59:43 +0200 | [diff] [blame] | 44 | |
Marc Kupietz | 06c9a9f | 2018-01-02 16:56:43 +0100 | [diff] [blame] | 45 | c_testcdb: c_testcdb.c collocatordb.h collocatordb.o Makefile |
Marc Kupietz | ad33204 | 2021-03-13 18:05:14 +0100 | [diff] [blame] | 46 | $(CC) $(CFLAGS) -L. -L$(INSTALL_PATH)/lib $@.c -o$@ collocatordb.o -std=gnu99 -lstdc++ -lm -lrocksdb $(PLATFORM_LDFLAGS) $(PLATFORM_CCFLAGS) $(EXEC_LDFLAGS) |
Marc Kupietz | c8ddf45 | 2018-01-07 21:33:12 +0100 | [diff] [blame] | 47 | |
Marc Kupietz | 4b799e9 | 2018-01-02 11:04:56 +0100 | [diff] [blame] | 48 | collocatordb: collocatordb.cc Makefile |
Marc Kupietz | ad33204 | 2021-03-13 18:05:14 +0100 | [diff] [blame] | 49 | $(CXX) $(CXXFLAGS) -L$(INSTALL_PATH)/lib $@.cc -o$@ -lrocksdb $(PLATFORM_LDFLAGS) $(PLATFORM_CXXFLAGS) $(EXEC_LDFLAGS) |
| 50 | |
| 51 | static_lib: libcollocatordb.a |
| 52 | |
| 53 | shared_lib: libcollocatordb.so.$(COLLOCATDB_MAJOR).$(COLLOCATDB_MINOR) |
Marc Kupietz | 28cc53e | 2017-12-23 17:24:55 +0100 | [diff] [blame] | 54 | |
| 55 | libcollocatordb.a: $(LIBOBJECTS) |
Marc Kupietz | 4b799e9 | 2018-01-02 11:04:56 +0100 | [diff] [blame] | 56 | $(AM_V_AR)rm -f $@ |
Marc Kupietz | 28cc53e | 2017-12-23 17:24:55 +0100 | [diff] [blame] | 57 | $(AM_V_at)$(AR) $(ARFLAGS) $@ $(LIBOBJECTS) |
| 58 | |
Marc Kupietz | ad33204 | 2021-03-13 18:05:14 +0100 | [diff] [blame] | 59 | libcollocatordb.so.$(COLLOCATDB_MAJOR).$(COLLOCATDB_MINOR): collocatordb.cc |
| 60 | $(CXX) $(CXXFLAGS) -Wall -D_GLIBCXX_PARALLEL -fopenmp -c collocatordb.cc -Wl,-soname=libcollocatordb.so.1 -Wl,--version-script=collocatordb.exmap -shared -fPIC -o libcollocatordb.so.$(COLLOCATDB_MAJOR).$(COLLOCATDB_MINOR) |
Marc Kupietz | 4b799e9 | 2018-01-02 11:04:56 +0100 | [diff] [blame] | 61 | |
Marc Kupietz | 28cc53e | 2017-12-23 17:24:55 +0100 | [diff] [blame] | 62 | .cc.o: |
Marc Kupietz | 18375e1 | 2017-12-24 10:11:18 +0100 | [diff] [blame] | 63 | $(CXX) $(CXXFLAGS) -c $< -o$@ $(PLATFORM_CXXFLAGS) |
Marc Kupietz | d165976 | 2018-06-05 11:22:12 +0200 | [diff] [blame] | 64 | |
Marc Kupietz | ad33204 | 2021-03-13 18:05:14 +0100 | [diff] [blame] | 65 | install-static: libcollocatordb.a collocatordb.h |
| 66 | install -d $(INSTALL_PATH)/include && \ |
| 67 | install -d $(INSTALL_PATH)/lib && \ |
| 68 | install -t $(INSTALL_PATH)/include -D -C -m 644 collocatordb.h $ && \ |
| 69 | install -t $(INSTALL_PATH)/lib -C -D -m 755 libcollocatordb.a |
Marc Kupietz | d165976 | 2018-06-05 11:22:12 +0200 | [diff] [blame] | 70 | |
Marc Kupietz | ad33204 | 2021-03-13 18:05:14 +0100 | [diff] [blame] | 71 | install-shared: libcollocatordb.so.$(COLLOCATDB_MAJOR).$(COLLOCATDB_MINOR) collocatordb.h |
| 72 | install -d $(INSTALL_PATH)/include && \ |
| 73 | install -d $(INSTALL_PATH)/lib && \ |
| 74 | install -Dt $(INSTALL_PATH)/include -C -m 644 collocatordb.h && \ |
| 75 | install -Dt $(INSTALL_PATH)/lib -C -m 755 libcollocatordb.so.$(COLLOCATDB_MAJOR).$(COLLOCATDB_MINOR) && \ |
| 76 | ln -fs $(INSTALL_PATH)/lib/libcollocatordb.so.$(COLLOCATDB_MAJOR).$(COLLOCATDB_MINOR) $(INSTALL_PATH)/lib/libcollocatordb.so.$(COLLOCATDB_MAJOR) && \ |
| 77 | ln -fs $(INSTALL_PATH)/lib/libcollocatordb.so.$(COLLOCATDB_MAJOR) $(INSTALL_PATH)/lib/libcollocatordb.so |
| 78 | |
| 79 | clean: |
| 80 | rm -f *.so* *.a *.o c_testcdb collocatordb dumpldafdiff dumppmicubed dumpllr testcdb hello_world |