LIB_DIR=lib TARGET=$(LIB_DIR)/libdwarfinterpret.so SRC=src/DwarfInterpret.cpp INCLUDE_DIR=include CXX=g++ CXXFLAGS=-Wall -Wextra -O2 --std=c++14 CXXLIBS=-ldwarfpp -ldwarf -lelf -lc++fileno CXXINCLUDE=-I$(INCLUDE_DIR) OBJS = $(SRC:.cpp=.o) ############################################################################### all: $(TARGET) $(TARGET): $(OBJS) mkdir -p "$$(dirname "$@")" $(CXX) $(CXXFLAGS) $(CXXLIBS) $(CXXINCLUDE) $^ -shared -o "$@" %.o: %.cpp $(CXX) $(CXXFLAGS) $(CXXINCLUDE) -fPIC -c "$<" -o "$@" clean: rm -f $(OBJS) $(TARGET)