| Add support for static-only build |
| |
| Instead of unconditionally building shared libraries, this patch |
| improves the libsepol build system with a "STATIC" variable, which |
| when defined to some non-empty value, will disable the build of shared |
| libraries. It allows to support cases where the target architecture |
| does not have support for shared libraries. |
| |
| Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
| |
| Index: b/src/Makefile |
| =================================================================== |
| --- a/src/Makefile |
| +++ b/src/Makefile |
| @@ -17,7 +17,12 @@ |
| CFLAGS ?= -Werror -Wall -W -Wundef -Wshadow -Wmissing-noreturn -Wmissing-format-attribute |
| override CFLAGS += -I. -I../include -D_GNU_SOURCE |
| |
| -all: $(LIBA) $(LIBSO) $(LIBPC) |
| +ALL_TARGETS = $(LIBA) $(LIBPC) |
| +ifeq ($(STATIC),) |
| +ALL_TARGETS += $(LIBSO) |
| +endif |
| + |
| +all: $(ALL_TARGETS) |
| |
| $(LIBA): $(OBJS) |
| $(AR) rcs $@ $^ |
| @@ -39,11 +44,13 @@ |
| install: all |
| test -d $(LIBDIR) || install -m 755 -d $(LIBDIR) |
| install -m 644 $(LIBA) $(LIBDIR) |
| - test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR) |
| - install -m 755 $(LIBSO) $(SHLIBDIR) |
| test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig |
| install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig |
| +ifeq ($(STATIC),) |
| + test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR) |
| + install -m 755 $(LIBSO) $(SHLIBDIR) |
| cd $(LIBDIR) && ln -sf ../../`basename $(SHLIBDIR)`/$(LIBSO) $(TARGET) |
| +endif |
| |
| relabel: |
| /sbin/restorecon $(SHLIBDIR)/$(LIBSO) |