diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2016-06-27 13:10:05 -0400 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2016-06-27 13:32:26 -0400 |
commit | 489bf6568eebd8a9ed419469f9b31ffd74a170fd (patch) | |
tree | 645d432f0aa639ddbd84f9e47eb4b5050f8de1ac /libopenbmc_intf | |
parent | edd8e02fffe54daf4fa0d9b9137fb70fe5e31c62 (diff) | |
download | talos-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/Makefile | 43 |
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) |