| # Installation directories. |
| PREFIX ?= $(DESTDIR)/usr |
| LIBDIR ?= $(PREFIX)/lib |
| SHLIBDIR ?= $(DESTDIR)/lib |
| |
| LIBVERSION = 1 |
| |
| LIBA=libsepol.a |
| TARGET=libsepol.so |
| LIBSO=$(TARGET).$(LIBVERSION) |
| OBJS= $(patsubst %.c,%.o,$(wildcard *.c)) |
| LOBJS= $(patsubst %.c,%.lo,$(wildcard *.c)) |
| CFLAGS ?= -Werror -Wall -W -Wundef -Wshadow -Wmissing-noreturn -Wmissing-format-attribute |
| override CFLAGS += -I. -I../include -D_GNU_SOURCE |
| |
| all: $(LIBA) $(LIBSO) |
| |
| $(LIBA): $(OBJS) |
| $(AR) rcs $@ $^ |
| ranlib $@ |
| |
| $(LIBSO): $(LOBJS) |
| $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname,$(LIBSO),--version-script=libsepol.map,-z,defs |
| ln -sf $@ $(TARGET) |
| |
| %.o: %.c |
| $(CC) $(CFLAGS) -fPIC -c -o $@ $< |
| |
| %.lo: %.c |
| $(CC) $(CFLAGS) -fPIC -DSHARED -c -o $@ $< |
| |
| 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) |
| cd $(LIBDIR) && ln -sf ../../`basename $(SHLIBDIR)`/$(LIBSO) $(TARGET) |
| |
| relabel: |
| /sbin/restorecon $(SHLIBDIR)/$(LIBSO) |
| |
| clean: |
| -rm -f $(OBJS) $(LOBJS) $(LIBA) $(LIBSO) $(TARGET) |
| |
| indent: |
| ../../scripts/Lindent $(wildcard *.[ch]) |
| |