File: Makefile

package info (click to toggle)
s390-tools 2.40.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,288 kB
  • sloc: ansic: 187,079; sh: 12,157; cpp: 5,049; makefile: 2,812; perl: 2,541; asm: 1,097; python: 697; xml: 29
file content (144 lines) | stat: -rw-r--r-- 4,284 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
include ../common.mak

ifneq (${HAVE_OPENSSL},0)
	BUILD_TARGETS += zkey
	INSTALL_TARGETS += install-zkey
	ifneq (${HAVE_JSONC},0)
		ifneq (${HAVE_LIBCURL},0)
			SUB_DIRS += ekmfweb
			ifneq (${HAVE_LIBXML2},0)
				SUB_DIRS += kmip
			endif
		endif
	endif
else
	BUILD_TARGETS += zkey-skip
	INSTALL_TARGETS += zkey-skip
endif

ifneq (${HAVE_CRYPTSETUP2},0)
	ifneq (${HAVE_JSONC},0)
		ifneq (${HAVE_OPENSSL},0)
			BUILD_TARGETS += zkey-cryptsetup
			INSTALL_TARGETS += install-zkey-cryptsetup
			ALL_CPPFLAGS += -DHAVE_LUKS2_SUPPORT
		else
			BUILD_TARGETS += zkey-cryptsetup-skip-openssl
			INSTALL_TARGETS += zkey-cryptsetup-skip-openssl
		endif
	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

ALL_CFLAGS += -DKMS_PLUGIN_LOCATION=\"$(ZKEYKMSPLUGINDIR)\" \
	-D_FILE_OFFSET_BITS=64

detect-libcryptsetup.dep:
	echo "#include <libcryptsetup.h>" > 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"

zkey-cryptsetup-skip-openssl:
	echo "  SKIP    zkey-cryptsetup due to HAVE_OPENSSL=0"

all: $(BUILD_TARGETS) $(SUB_DIRS)

zkey.o: zkey.c pkey.h cca.h ep11.h misc.h
pkey.o: pkey.c pkey.h cca.h ep11.h utils.h
cca.o: cca.c cca.h pkey.h ep11.h utils.h
ep11.o: ep11.c ep11.h pkey.h cca.h utils.h
utils.o: utils.h pkey.h cca.h ep11.h
properties.o: check-dep-zkey properties.c properties.h
keystore.o: keystore.c keystore.h properties.h pkey.h cca.h ep11.h utils.h
zkey-cryptsetup.o: check-dep-zkey-cryptsetup zkey-cryptsetup.c pkey.h cca.h \
			ep11.h misc.h utils.h
kms.o: kms.c kms.h kms-plugin.h utils.h pkey.h
pvsecrets.o: pvsecrets.h

zkey: LDLIBS = -ldl -lcrypto
zkey: zkey.o pkey.o cca.o ep11.o properties.o keystore.o utils.o kms.o \
			pvsecrets.o $(libs)
	$(LINK) $(ALL_LDFLAGS) $^ $(LDLIBS) -o $@

zkey-cryptsetup: LDLIBS = -ldl -lcryptsetup -ljson-c -lcrypto
zkey-cryptsetup: zkey-cryptsetup.o pkey.o cca.o ep11.o utils.o $(libs)
	$(LINK) $(ALL_LDFLAGS) $^ $(LDLIBS) -o $@

install-common:
	$(INSTALL) -d -m 755 $(DESTDIR)$(USRBINDIR)
	$(INSTALL) -d -m 755 $(DESTDIR)$(MANDIR)/man1
	$(MAKE) -C initramfs install
	$(MAKE) -C dracut install

install-zkey: 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) -m 644 -c kms-plugins.conf $(DESTDIR)$(SYSCONFDIR)/zkey

install-zkey-cryptsetup: zkey-cryptsetup
	$(INSTALL) -g $(GROUP) -o $(OWNER) -m 755 zkey-cryptsetup $(DESTDIR)$(USRBINDIR)
	$(INSTALL) -m 644 -c zkey-cryptsetup.1 $(DESTDIR)$(MANDIR)/man1

install: install-common $(INSTALL_TARGETS) $(SUB_DIRS)

clean: $(SUB_DIRS)
	rm -f *.o zkey zkey-cryptsetup detect-libcryptsetup.dep \
		check-dep-zkey check-dep-zkey-cryptsetup

#
# For simple "make" we explicitly set the MAKECMDGOALS to "all".
#
ifeq ($(MAKECMDGOALS),)
MAKECMDGOALS = all
endif

$(SUB_DIRS):
	$(foreach goal,$(MAKECMDGOALS), \
		$(MAKE) -C $@ TOPDIR=$(TOPDIR) HOST_ARCH=$(HOST_ARCH) $(goal) ;)
.PHONY: $(SUB_DIRS)

.PHONY: all install clean zkey-skip zkey-cryptsetup-skip-cryptsetup2 \
	zkey-cryptsetup-skip-jsonc install-common install-zkey \
	install-zkey-cryptsetup