SRC  = pioneer_spdctl
HDRS = pioneer_spdctl.h
LIBN = qpxpioneer
SRCS = $(patsubst %,%.cpp, $(SRC))
OBJS = $(patsubst %.cpp,%.o,$(SRCS))

VER_MAJOR  = 0
VER_MINOR  = 6
VER_MICRO  = 0
LIB_SHORT  = lib$(LIBN).so
LIB_SONAME = $(LIB_SHORT).$(VER_MAJOR)
LIB_FULL   = $(LIB_SONAME).$(VER_MINOR).$(VER_MICRO)
LIB        = $(LIB_FULL)

CXXFLAGS += -fPIC
CPPFLAGS += -I. -I./include -I../include
LDFLAGS  += -shared -Wl,-soname,$(LIB_SONAME)
LDLIBS   += -lqpxtransport -L../lib

all: $(LIB)

$(LIB): $(OBJS)
	$(CXX) $(CXXFLAGS) $(LDFLAGS) $^ -o $@ $(LDLIBS)


	mkdir -p ../lib
	ln -fs ../$(DIR)/$(LIB) ../lib/$(LIB_SHORT)
#ln -fs ../$(LIB) lib/$(LIB_SHORT)

clean:
	rm -f $(LIB_SHORT)* $(OBJS) ../lib/$(LIB_SHORT) lib/$(LIB_SHORT)

install:
	mkdir -p $(DESTDIR)$(LIBDIR)
	install -m 755 $(LIB_FULL) $(DESTDIR)$(LIBDIR)
	ln -sf $(LIB_FULL) $(DESTDIR)$(LIBDIR)/$(LIB_SONAME)
	ln -sf $(LIB_SONAME) $(DESTDIR)$(LIBDIR)/$(LIB_SHORT)
	mkdir -p $(DESTDIR)$(INCDIR)
	install -m 644 include/* $(DESTDIR)$(INCDIR)

uninstall:
	rm -f $(DESTDIR)$(INCDIR)/lib$(LIB_SHORT)
	rm -f $(DESTDIR)$(INCDIR)/lib$(LIB_SONAME)
	rm -f $(DESTDIR)$(INCDIR)/lib$(LIB_FULL)
	for hdr in $(HDRS); do rm -f $(DESTDIR)$(LIBDIR)/$$hdr ; done

.PHONY: all clean install uninstall

