| EXE := fsverity |
| STATIC := fsverity-static |
| INC := libfsverity.h |
| CFLAGS := -O2 -Wall |
| CPPFLAGS := -D_FILE_OFFSET_BITS=64 |
| LDLIBS := -lcrypto |
| PREFIX = /usr |
| BINDIR := $(PREFIX)/bin |
| LIBDIR := $(PREFIX)/lib64 |
| INCDIR := $(PREFIX)/include |
| SRC := $(wildcard *.c) |
| OBJ := fsverity.o cmd_enable.o cmd_measure.o cmd_sign.o util.o |
| SSRC := libverity.c hash_algs.c |
| SHOBJ := libverity.so hash_algs.so |
| STOBJ := libverity.o hash_algs.o |
| HDRS := $(wildcard *.h) |
| LIB_MAJOR := 1 |
| LIB_MINOR := 0.0 |
| LIB_SO := libfsverity.so |
| LIB_SONAME := $(LIB_SO).$(LIB_MAJOR) |
| LIB_FULL := $(LIB_SONAME).$(LIB_MINOR) |
| |
| all:$(EXE) |
| |
| static:$(STATIC) |
| |
| $(EXE):$(OBJ) $(LIB_FULL) |
| $(CC) -o $@ $(OBJ) $(LDLIBS) -L . -l fsverity |
| |
| $(STATIC):$(OBJ) $(STOBJ) |
| $(CC) -o $@ $(OBJ) $(STOBJ) $(LDLIBS) |
| |
| $(OBJ): %.o: %.c $(HDRS) |
| $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@ |
| |
| $(STOBJ): %.o: %.c $(HDRS) |
| $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@ |
| |
| $(SHOBJ): %.so: %.c $(HDRS) |
| $(CC) -c -fPIC $(CFLAGS) $(CPPFLAGS) $< -o $@ |
| |
| $(LIB_FULL): $(SHOBJ) |
| $(CC) $(LDLIBS) -shared -Wl,-soname,$(LIB_SONAME) -o $@ $(SHOBJ) |
| rm -f $(LIB_SONAME) $(LIB_SO) |
| ln -s $(LIB_FULL) $(LIB_SONAME) |
| ln -s $(LIB_SONAME) $(LIB_SO) |
| |
| clean: |
| rm -f $(EXE) $(OBJ) $(SHOBJ) $(LIB_SONAME) $(LIB_SO) $(LIB_FULL) $(STOBJ) $(STATIC) |
| |
| install:all |
| install -Dm755 -t $(DESTDIR)$(BINDIR) $(EXE) |
| install -Dm755 -t $(DESTDIR)$(LIBDIR) $(LIB_FULL) |
| ln -s $(LIB_FULL) $(DESTDIR)$(LIBDIR)/$(LIB_SONAME) |
| ln -s $(LIB_SONAME) $(DESTDIR)$(LIBDIR)/$(LIB_SO) |
| install -Dm644 -t $(DESTDIR)$(INCDIR) $(INC) |
| |
| install-static:static |
| install -Dm755 -t $(BINDIR) $(STATIC) |
| |
| .PHONY: all clean install |