mirror of
https://github.com/paulscherrerinstitute/sf_daq_buffer.git
synced 2026-04-26 06:20:44 +02:00
46 lines
1.2 KiB
Makefile
46 lines
1.2 KiB
Makefile
SRC_DIR = ./src
|
|
OBJ_DIR = ./obj
|
|
BIN_DIR = ./bin
|
|
MKDIR = mkdir -p
|
|
|
|
CPP = g++
|
|
CPPFLAGS = -Wall -Wfatal-errors -fPIC -pthread -std=c++11 -I./include -I${CONDA_PREFIX}/include
|
|
LDLIBS = -L${CONDA_PREFIX}/lib -L/usr/lib64 -lzmq -lhdf5 -lhdf5_hl -lhdf5_cpp -lhdf5_hl_cpp -lboost_system -lboost_regex -lboost_thread -lpthread
|
|
LDLIBS_TEST = -lgtest_main -lgtest
|
|
LDFLAGS = -shared
|
|
|
|
UNAME := $(shell uname)
|
|
ifeq ($(UNAME), Linux)
|
|
LDFLAGS += -Wl,-soname,libcpp_h5_writer.so
|
|
endif
|
|
ifeq ($(UNAME), Darwin)
|
|
LDFLAGS += -Wl,-install_name,libcpp_h5_writer.so
|
|
endif
|
|
|
|
HEADERS = $(wildcard $(SRC_DIR)/*.hpp)
|
|
SRCS = $(wildcard $(SRC_DIR)/*.cpp)
|
|
OBJS = $(patsubst $(SRC_DIR)/%.cpp, $(OBJ_DIR)/%.o, $(SRCS))
|
|
|
|
lib: build_dirs libcpp_h5_writer
|
|
test: build_dirs build_test
|
|
|
|
debug: CPPFLAGS += -DDEBUG_OUTPUT
|
|
debug: lib
|
|
|
|
perf: CPPFLAGS += -DPERF_OUTPUT
|
|
perf: lib
|
|
|
|
libcpp_h5_writer: $(OBJS)
|
|
$(CPP) $(LDFLAGS) -o $(BIN_DIR)/libcpp_h5_writer.so $(OBJS) $(LDLIBS)
|
|
|
|
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp
|
|
$(CPP) $(CPPFLAGS) $(LDLIBS) -c -o $@ $<
|
|
|
|
build_dirs:
|
|
$(MKDIR) $(OBJ_DIR) $(BIN_DIR)
|
|
|
|
clean:
|
|
rm -rf $(OBJ_DIR) $(BIN_DIR)
|
|
|
|
build_test: $(OBJS)
|
|
$(CPP) $(CPPFLAGS) test/test_main.cpp $(OBJS) $(LDLIBS) $(LDLIBS_TEST) -o $(BIN_DIR)/execute_tests
|