2 IRIS_SRC = src/base_logger.cpp src/buffered_writer.cpp src/file_writer.cpp src/level_logger.cpp src/notifier.cpp src/stream_writer.cpp src/utils.cpp
3 IRIS_TEST_SRC = $(IRIS_SRC) tests/test_lfringbuffer.cpp
4 IRIS_TEST2_SRC = $(IRIS_SRC) src/main.cpp
6 IRIS_OBJS = base_logger.o buffered_writer.o file_writer.o level_logger.o notifier.o stream_writer.o utils.o
7 IRIS_TEST_OBJS = $(IRIS_OBJS) test_lfringbuffer.o
8 IRIS_TEST2_OBJS = $(IRIS_OBJS) test2.o
18 CACHELINE_SIZE = $(shell sysctl -n hw.cachelinesize)
20 CACHELINE_SIZE = $(shell getconf LEVEL1_DCACHE_LINESIZE)
26 LINKPARAMS = -fpic -lpthread -shared
27 #linker params for tests
28 LINKPARAMS_TEST = -fpic -lpthread
29 #options for development
30 CFLAGS = --std=c++11 -g -O3 -Wall -fpic -DIRIS_CACHELINE_SIZE=$(CACHELINE_SIZE) # removed flags -Werror -Wno-unused-private-field
32 #CFLAGS = --std=c++11 -g -O2 -Wall -Werror -fpic -shared
34 $(PROGRAM): $(IRIS_OBJS)
35 $(CC) -o $(PROGRAM) $(IRIS_OBJS) $(CFLAGS) $(LINKPARAMS)
37 base_logger.o: src/base_logger.cpp include/base_logger.h
38 $(CC) -c src/base_logger.cpp -o base_logger.o $(CFLAGS) $(INCLUDE)
40 buffered_writer.o: src/buffered_writer.cpp include/buffered_writer.h
41 $(CC) -c src/buffered_writer.cpp -o buffered_writer.o $(CFLAGS) $(INCLUDE)
43 file_writer.o: src/file_writer.cpp include/file_writer.h
44 $(CC) -c src/file_writer.cpp -o file_writer.o $(CFLAGS) $(INCLUDE)
46 stream_writer.o: src/stream_writer.cpp include/stream_writer.h
47 $(CC) -c src/stream_writer.cpp -o stream_writer.o $(CFLAGS) $(INCLUDE)
49 level_logger.o: src/level_logger.cpp include/level_logger.h
50 $(CC) -c src/level_logger.cpp -o level_logger.o $(CFLAGS) $(INCLUDE)
52 utils.o: src/utils.cpp include/utils.h
53 $(CC) -c src/utils.cpp -o utils.o $(CFLAGS) $(INCLUDE)
55 notifier.o: src/notifier.cpp include/notifier.h
56 $(CC) -c src/notifier.cpp -o notifier.o $(CFLAGS) $(INCLUDE)
58 test: test_lfringbuffer
60 test_lfringbuffer: $(IRIS_TEST_OBJS)
61 $(CC) -o test_lfringbuffer $(IRIS_TEST_OBJS) $(CFLAGS) $(LINKPARAMS_TEST)
62 $(CC) -o test2 $(IRIS_TEST2_OBJS) $(CFLAGS) $(LINKPARAMS_TEST)
64 test_lfringbuffer.o: tests/test_lfringbuffer.cpp src/main.cpp
65 $(CC) -c tests/test_lfringbuffer.cpp -o test_lfringbuffer.o $(CFLAGS) $(INCLUDE)
66 $(CC) -c src/main.cpp -o test2.o $(CFLAGS) $(INCLUDE)
71 rm -rf $(PROGRAM) test_lfringbuffer
72 rm -rf $(PROGRAM) test2
75 mkdir -p /usr/local/include/iris
76 cp include/* /usr/local/include/iris
77 cp $(PROGRAM) /usr/local/lib