include ../common.mak ifneq (${HAVE_OPENSSL},0) BUILD_TARGETS += zkey INSTALL_TARGETS += install-zkey else BUILD_TARGETS += zkey-skip INSTALL_TARGETS += zkey-skip endif ifneq (${HAVE_CRYPTSETUP2},0) ifneq (${HAVE_JSONC},0) BUILD_TARGETS += zkey-cryptsetup INSTALL_TARGETS += install-zkey-cryptsetup CPPFLAGS += -DHAVE_LUKS2_SUPPORT else BUILD_TARGETS += zkey-cryptsetup-skip-jsonc INSTALL_TARGETS += zkey-cryptsetup-skip-jsonc endif else BUILD_TARGETS += zkey-cryptsetup-skip-cryptsetup2 INSTALL_TARGETS += zkey-cryptsetup-skip-cryptsetup2 endif libs = $(rootdir)/libutil/libutil.a detect-libcryptsetup.dep: echo "#include " > detect-libcryptsetup.dep echo "#ifndef CRYPT_LUKS2" >> detect-libcryptsetup.dep echo " #error libcryptsetup version 2.0.3 is required" >> detect-libcryptsetup.dep echo "#endif" >> detect-libcryptsetup.dep echo "int i = CRYPT_SLOT_UNBOUND;" >> detect-libcryptsetup.dep check-dep-zkey: $(call check_dep, \ "zkey", \ "openssl/evp.h", \ "openssl-devel", \ "HAVE_OPENSSL=0") touch check-dep-zkey check-dep-zkey-cryptsetup: detect-libcryptsetup.dep $(call check_dep, \ "zkey-cryptsetup", \ "detect-libcryptsetup.dep", \ "cryptsetup-devel version 2.0.3", \ "HAVE_CRYPTSETUP2=0", \ "-I.") $(call check_dep, \ "zkey-cryptsetup", \ "json-c/json.h", \ "json-c-devel", \ "HAVE_JSONC=0") touch check-dep-zkey-cryptsetup zkey-skip: echo " SKIP zkey due to HAVE_OPENSSL=0" zkey-cryptsetup-skip-cryptsetup2: echo " SKIP zkey-cryptsetup due to HAVE_CRYPTSETUP2=0" zkey-cryptsetup-skip-jsonc: echo " SKIP zkey-cryptsetup due to HAVE_JSONC=0" all: $(BUILD_TARGETS) zkey.o: zkey.c pkey.h misc.h pkey.o: pkey.c pkey.h properties.o: check-dep-zkey properties.c properties.h keystore.o: keystore.c keystore.h properties.h zkey-cryptsetup.o: check-dep-zkey-cryptsetup zkey-cryptsetup.c pkey.h misc.h zkey: LDLIBS = -ldl -lcrypto zkey: zkey.o pkey.o properties.o keystore.o $(libs) $(LINK) $(ALL_LDFLAGS) $^ $(LDLIBS) -o $@ zkey-cryptsetup: LDLIBS = -ldl -lcryptsetup -ljson-c zkey-cryptsetup: zkey-cryptsetup.o pkey.o $(libs) $(LINK) $(ALL_LDFLAGS) $^ $(LDLIBS) -o $@ install-common: $(INSTALL) -d -m 755 $(DESTDIR)$(USRBINDIR) $(INSTALL) -d -m 755 $(DESTDIR)$(MANDIR)/man1 install-zkey: $(INSTALL) -g $(GROUP) -o $(OWNER) -m 755 zkey $(DESTDIR)$(USRBINDIR) $(INSTALL) -m 644 -c zkey.1 $(DESTDIR)$(MANDIR)/man1 $(INSTALL) -d -m 770 $(DESTDIR)$(SYSCONFDIR)/zkey $(INSTALL) -d -m 770 $(DESTDIR)$(SYSCONFDIR)/zkey/repository install-zkey-cryptsetup: $(INSTALL) -g $(GROUP) -o $(OWNER) -m 755 zkey-cryptsetup $(DESTDIR)$(USRBINDIR) $(INSTALL) -m 644 -c zkey-cryptsetup.1 $(DESTDIR)$(MANDIR)/man1 install: all install-common $(INSTALL_TARGETS) clean: rm -f *.o zkey zkey-cryptsetup detect-libcryptsetup.dep \ check-dep-zkey check-dep-zkey-cryptsetup .PHONY: all install clean zkey-skip zkey-cryptsetup-skip-cryptsetup2 \ zkey-cryptsetup-skip-jsonc install-common install-zkey \ install-zkey-cryptsetup