blob: 0b82c82ae03841b7ce031e14dd854b8fbcfe1cb3 [file]
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