@@ -45,7 +45,7 @@ MOK_OBJS = MokManager.o PasswordCrypt.o crypt_blowfish.o errlog.o sbat_data.o
45
45
ORIG_MOK_SOURCES = MokManager.c PasswordCrypt.c crypt_blowfish.c shim.h $(wildcard include/* .h)
46
46
FALLBACK_OBJS = fallback.o tpm.o errlog.o sbat_data.o
47
47
ORIG_FALLBACK_SRCS = fallback.c
48
- SBATPATH = data/sbat.csv
48
+ SBATPATH = $( TOPDIR ) / data/sbat.csv
49
49
50
50
ifeq ($(SOURCE_DATE_EPOCH ) ,)
51
51
UNAME=$(shell uname -s -m -p -i -o)
@@ -146,21 +146,23 @@ $(MMSONAME): $(MOK_OBJS) $(LIBS)
146
146
147
147
gnu-efi/$(ARCH_GNUEFI ) /gnuefi/libgnuefi.a gnu-efi/$(ARCH_GNUEFI ) /lib/libefi.a : CFLAGS+=-DGNU_EFI_USE_EXTERNAL_STDARG
148
148
gnu-efi/$(ARCH_GNUEFI ) /gnuefi/libgnuefi.a gnu-efi/$(ARCH_GNUEFI ) /lib/libefi.a :
149
+ mkdir -p gnu-efi/lib gnu-efi/gnuefi
149
150
$(MAKE ) -C gnu-efi \
150
151
ARCH=$(ARCH_GNUEFI ) TOPDIR=$(TOPDIR ) /gnu-efi \
152
+ -f $(TOPDIR ) /gnu-efi/Makefile \
151
153
lib gnuefi inc
152
154
153
155
Cryptlib/libcryptlib.a :
154
156
for i in Hash Hmac Cipher Rand Pk Pem SysCall; do mkdir -p Cryptlib/$$ i; done
155
- $(MAKE ) VPATH=$(TOPDIR ) /Cryptlib -C Cryptlib -f $(TOPDIR ) /Cryptlib/Makefile
157
+ $(MAKE ) TOPDIR= $( TOPDIR ) VPATH=$(TOPDIR ) /Cryptlib -C Cryptlib -f $(TOPDIR ) /Cryptlib/Makefile
156
158
157
159
Cryptlib/OpenSSL/libopenssl.a :
158
160
for i in x509v3 x509 txt_db stack sha rsa rc4 rand pkcs7 pkcs12 pem ocsp objects modes md5 lhash kdf hmac evp err dso dh conf comp cmac buffer bn bio async/arch asn1 aes; do mkdir -p Cryptlib/OpenSSL/crypto/$$ i; done
159
- $(MAKE ) VPATH=$(TOPDIR ) /Cryptlib/OpenSSL -C Cryptlib/OpenSSL -f $(TOPDIR ) /Cryptlib/OpenSSL/Makefile
161
+ $(MAKE ) TOPDIR= $( TOPDIR ) VPATH=$(TOPDIR ) /Cryptlib/OpenSSL -C Cryptlib/OpenSSL -f $(TOPDIR ) /Cryptlib/OpenSSL/Makefile
160
162
161
163
lib/lib.a : | $(TOPDIR ) /lib/Makefile $(wildcard $(TOPDIR ) /include/* .[ch])
162
- if [ ! -d lib ] ; then mkdir lib ; fi
163
- $(MAKE ) VPATH=$(TOPDIR ) /lib -C lib -f $(TOPDIR ) /lib/Makefile lib.a
164
+ mkdir -p lib
165
+ $(MAKE ) VPATH=$(TOPDIR ) /lib TOPDIR= $( TOPDIR ) -C lib -f $(TOPDIR ) /lib/Makefile
164
166
165
167
buildid : $(TOPDIR ) /buildid.c
166
168
$(HOSTCC ) -I/usr/include -Og -g3 -Wall -Werror -Wextra -o $@ $< -lelf
@@ -275,35 +277,46 @@ else
275
277
endif
276
278
277
279
test :
278
- @make -f include/test.mk EFI_INCLUDES=" $( EFI_INCLUDES) " ARCH_DEFINES=" $( ARCH_DEFINES) " all
280
+ @make -f $( TOPDIR ) / include/test.mk EFI_INCLUDES=" $( EFI_INCLUDES) " ARCH_DEFINES=" $( ARCH_DEFINES) " all
279
281
280
282
$(patsubst % .c,% ,$(wildcard test-* .c) ) :
281
- @make -f include/test.mk EFI_INCLUDES=" $( EFI_INCLUDES) " ARCH_DEFINES=" $( ARCH_DEFINES) " $@
283
+ @make -f $( TOPDIR ) / include/test.mk EFI_INCLUDES=" $( EFI_INCLUDES) " ARCH_DEFINES=" $( ARCH_DEFINES) " $@
282
284
283
285
.PHONY : $(patsubst % .c,% ,$(wildcard test-* .c) ) test
284
286
285
287
clean-test-objs :
286
- @make -f include/test.mk EFI_INCLUDES=" $( EFI_INCLUDES) " ARCH_DEFINES=" $( ARCH_DEFINES) " clean
288
+ @make -f $( TOPDIR ) / include/test.mk EFI_INCLUDES=" $( EFI_INCLUDES) " ARCH_DEFINES=" $( ARCH_DEFINES) " clean
287
289
288
290
clean-gnu-efi :
289
- $(MAKE ) -C gnu-efi \
290
- ARCH=$(ARCH_GNUEFI ) TOPDIR=$(TOPDIR ) /gnu-efi \
291
- clean
291
+ @if [ -d gnu-efi ] ; then \
292
+ $(MAKE ) -C gnu-efi \
293
+ ARCH=$(ARCH_GNUEFI ) TOPDIR=$(TOPDIR ) /gnu-efi \
294
+ -f $(TOPDIR ) /gnu-efi/Makefile \
295
+ clean ; \
296
+ fi
297
+
298
+ clean-lib-objs :
299
+ @if [ -d lib ] ; then \
300
+ $(MAKE ) -C lib TOPDIR=$(TOPDIR ) -f $(TOPDIR ) /lib/Makefile clean ; \
301
+ fi
292
302
293
303
clean-shim-objs :
294
- $(MAKE ) -C lib -f $(TOPDIR ) /lib/Makefile clean
295
304
@rm -rvf $(TARGET ) * .o $(SHIM_OBJS ) $(MOK_OBJS ) $(FALLBACK_OBJS ) $(KEYS ) certdb $(BOOTCSVNAME )
296
305
@rm -vf * .debug * .so * .efi * .efi.* * .tar.* version.c buildid
297
306
@rm -vf Cryptlib/* .[oa] Cryptlib/* /* .[oa]
298
307
@if [ -d .git ] ; then git clean -f -d -e ' Cryptlib/OpenSSL/*' ; fi
299
308
300
309
clean-openssl-objs :
301
- $(MAKE ) -C Cryptlib/OpenSSL -f $(TOPDIR ) /Cryptlib/OpenSSL/Makefile clean
310
+ @if [ -d Cryptlib/Openssl ] ; then \
311
+ $(MAKE ) -C Cryptlib/OpenSSL -f $(TOPDIR ) /Cryptlib/OpenSSL/Makefile clean ; \
312
+ fi
302
313
303
314
clean-cryptlib-objs :
304
- $(MAKE ) -C Cryptlib -f $(TOPDIR ) /Cryptlib/Makefile clean
315
+ @if [ -d Cryptlib ] ; then \
316
+ $(MAKE ) -C Cryptlib -f $(TOPDIR ) /Cryptlib/Makefile clean ; \
317
+ fi
305
318
306
- clean : clean-shim-objs clean-test-objs clean-gnu-efi clean-openssl-objs clean-cryptlib-objs
319
+ clean : clean-shim-objs clean-test-objs clean-gnu-efi clean-openssl-objs clean-cryptlib-objs clean-lib-objs
307
320
308
321
GITTAG = $(VERSION )
309
322
0 commit comments