Introducing libmapper

libmapper is a convenience library for sdbus applications
that interact with the phosphor object manager.

Change-Id: I5a638e0a313d575591055214cb3ac5701b730ae5
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/libmapper/Makefile b/libmapper/Makefile
new file mode 100644
index 0000000..806390c
--- /dev/null
+++ b/libmapper/Makefile
@@ -0,0 +1,33 @@
+libdir=/usr/lib
+includedir=/usr/include
+
+PACKAGE_DEPS=libsystemd
+SONAME=libmapper.so
+VERSION=1
+LIBMAPPER=$(SONAME).$(VERSION)
+INCLUDES=mapper.h
+
+LDLIBS+=$(shell pkg-config --libs $(PACKAGE_DEPS))
+ALL_CFLAGS+=$(shell pkg-config --cflags $(PACKAGE_DEPS)) -fPIC -Werror $(CFLAGS)
+
+all: $(SONAME)
+
+%.o: %.c
+	$(CC) -c $(ALL_CFLAGS) -o $@ $<
+
+$(SONAME): $(LIBMAPPER)
+	ln -sf $^ $@
+
+$(LIBMAPPER): lib%.so.$(VERSION): %.o
+	$(CC) -shared $(CFLAGS) $(LDFLAGS) -Wl,-soname,$(SONAME) \
+		-o $@ $^ $(LDLIBS)
+
+install: $(SONAME) $(LIBMAPPER)
+	@mkdir -p $(DESTDIR)$(includedir)
+	install $(INCLUDES) $(DESTDIR)$(includedir)
+	@mkdir -p $(DESTDIR)$(libdir)
+	install $(LIBMAPPER) $(DESTDIR)$(libdir)
+	ln -sf $(LIBMAPPER) $(DESTDIR)$(libdir)/$(SONAME)
+
+clean:
+	rm -f *.o $(LIBMAPPER) $(SONAME)