summaryrefslogtreecommitdiffstats
path: root/libopenbmc_intf
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2016-06-27 13:10:05 -0400
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2016-06-27 13:32:26 -0400
commit489bf6568eebd8a9ed419469f9b31ffd74a170fd (patch)
tree645d432f0aa639ddbd84f9e47eb4b5050f8de1ac /libopenbmc_intf
parentedd8e02fffe54daf4fa0d9b9137fb70fe5e31c62 (diff)
downloadtalos-skeleton-489bf6568eebd8a9ed419469f9b31ffd74a170fd.tar.gz
talos-skeleton-489bf6568eebd8a9ed419469f9b31ffd74a170fd.zip
libopenbmc_intf rules simplification
Don't use rules.mk for libopenbmc_intf. There isn't enough overlap here to warrant the extra complexity. Fix an issue where the library is rebuilt for every make invocation. Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'libopenbmc_intf')
-rw-r--r--libopenbmc_intf/Makefile43
1 files changed, 25 insertions, 18 deletions
diff --git a/libopenbmc_intf/Makefile b/libopenbmc_intf/Makefile
index f82bce5..cd86906 100644
--- a/libopenbmc_intf/Makefile
+++ b/libopenbmc_intf/Makefile
@@ -1,26 +1,33 @@
+libdir=/usr/lib
+includedir=/usr/include
+
PACKAGE_DEPS=gio-unix-2.0 glib-2.0
-INSTALLDEPS=install-lib install-headers
-CLEANDEPS=clean-lib
-DEFAULT_ALL=$(LIBOBMC)
-LIBOBMC=openbmc_intf
+SONAME=libopenbmc_intf.so
+VERSION=1
+LIBOBMC=$(SONAME).$(VERSION)
INCLUDES=openbmc_intf.h openbmc.h gpio.h
-$(LIBOBMC): %: %.o gpio.o
- $(CC) -shared $(CFLAGS) $(LDFLAGS) -Wl,-soname,lib$(LIBOBMC).so \
- -o lib$@.so.1 $^ $(LDLIBS)
- ln -sf lib$(LIBOBMC).so.1 lib$(LIBOBMC).so
+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): $(LIBOBMC)
+ ln -sf $^ $@
-install-headers:
+$(LIBOBMC): lib%.so.$(VERSION): %.o gpio.o
+ $(CC) -shared $(CFLAGS) $(LDFLAGS) -Wl,-soname,$(SONAME) \
+ -o $@ $^ $(LDLIBS)
+
+install: $(SONAME) $(LIBOBMC)
@mkdir -p $(DESTDIR)$(includedir)
install $(INCLUDES) $(DESTDIR)$(includedir)
-
-install-lib:
@mkdir -p $(DESTDIR)$(libdir)
- install lib$(LIBOBMC).so.1 $(DESTDIR)$(libdir)
- ln -sf lib$(LIBOBMC).so.1 $(DESTDIR)$(libdir)/lib$(LIBOBMC).so
-
-clean-lib:
- rm -f lib$(LIBOBMC).so.1
- rm -f lib$(LIBOBMC).so
+ install $(LIBOBMC) $(DESTDIR)$(libdir)
+ ln -sf $(LIBOBMC) $(DESTDIR)$(libdir)/$(SONAME)
-include ../rules.mk
+clean:
+ rm -f *.o $(LIBOBMC) $(SONAME)
OpenPOWER on IntegriCloud