1*4882a593SmuzhiyunFrom 42f4054faf3c7f2cd2cab5b43e63f9d97d81f7a1 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Peter Jones <pjones@redhat.com> 3*4882a593SmuzhiyunDate: Wed, 4 Mar 2020 12:58:42 +0100 4*4882a593SmuzhiyunSubject: [PATCH 150/150] Makefile: Make libgrub.pp depend on config-util.h 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunIf you build with "make -j48" a lot, sometimes you see: 7*4882a593Smuzhiyun 8*4882a593Smuzhiyungcc -E -DHAVE_CONFIG_H -I. -I.. -Wall -W -DGRUB_UTIL=1 -D_FILE_OFFSET_BITS=64 -I./include -DGRUB_FILE=\"grub_script.tab.h\" -I. -I.. -I. -I.. -I../include -I./include -I../grub-core/lib/libgcrypt-grub/src/ -I../grub-core/lib/minilzo -I../grub-core/lib/xzembed -DMINILZO_HAVE_CONFIG_H -Wall -W -DGRUB_UTIL=1 -D_FILE_OFFSET_BITS=64 -I./include -DGRUB_FILE=\"grub_script.tab.h\" -I. -I.. -I. -I.. -I../include -I./include -I../grub-core/lib/libgcrypt-grub/src/ -I./grub-core/gnulib -I../grub-core/gnulib -I/builddir/build/BUILD/grub-2.02/grub-aarch64-efi-2.02 -D_FILE_OFFSET_BITS=64 \ 9*4882a593Smuzhiyun -D'GRUB_MOD_INIT(x)=@MARKER@x@' grub_script.tab.h grub_script.yy.h ../grub-core/commands/blocklist.c ../grub-core/commands/macbless.c ../grub-core/commands/xnu_uuid.c ../grub-core/commands/testload.c ../grub-core/commands/ls.c ../grub-core/disk/dmraid_nvidia.c ../grub-core/disk/loopback.c ../grub-core/disk/lvm.c ../grub-core/disk/mdraid_linux.c ../grub-core/disk/mdraid_linux_be.c ../grub-core/disk/mdraid1x_linux.c ../grub-core/disk/raid5_recover.c ../grub-core/disk/raid6_recover.c ../grub-core/font/font.c ../grub-core/gfxmenu/font.c ../grub-core/normal/charset.c ../grub-core/video/fb/fbblit.c ../grub-core/video/fb/fbutil.c ../grub-core/video/fb/fbfill.c ../grub-core/video/fb/video_fb.c ../grub-core/video/video.c ../grub-core/video/capture.c ../grub-core/video/colors.c ../grub-core/unidata.c ../grub-core/io/bufio.c ../grub-core/fs/affs.c ../grub-core/fs/afs.c ../grub-core/fs/bfs.c ../grub-core/fs/btrfs.c ../grub-core/fs/cbfs.c ../grub-core/fs/cpio.c ../grub-core/fs/cpio_be.c ../grub-core/fs/odc.c ../grub-core/fs/newc.c ../grub-core/fs/ext2.c ../grub-core/fs/fat.c ../grub-core/fs/exfat.c ../grub-core/fs/fshelp.c ../grub-core/fs/hfs.c ../grub-core/fs/hfsplus.c ../grub-core/fs/hfspluscomp.c ../grub-core/fs/iso9660.c ../grub-core/fs/jfs.c ../grub-core/fs/minix.c ../grub-core/fs/minix2.c ../grub-core/fs/minix3.c ../grub-core/fs/minix_be.c ../grub-core/fs/minix2_be.c ../grub-core/fs/minix3_be.c ../grub-core/fs/nilfs2.c ../grub-core/fs/ntfs.c ../grub-core/fs/ntfscomp.c ../grub-core/fs/reiserfs.c ../grub-core/fs/romfs.c ../grub-core/fs/sfs.c ../grub-core/fs/squash4.c ../grub-core/fs/tar.c ../grub-core/fs/udf.c ../grub-core/fs/ufs2.c ../grub-core/fs/ufs.c ../grub-core/fs/ufs_be.c ../grub-core/fs/xfs.c ../grub-core/fs/zfs/zfscrypt.c ../grub-core/fs/zfs/zfs.c ../grub-core/fs/zfs/zfsinfo.c ../grub-core/fs/zfs/zfs_lzjb.c ../grub-core/fs/zfs/zfs_lz4.c ../grub-core/fs/zfs/zfs_sha256.c ../grub-core/fs/zfs/zfs_fletcher.c ../grub-core/lib/envblk.c ../grub-core/lib/hexdump.c ../grub-core/lib/LzFind.c ../grub-core/lib/LzmaEnc.c ../grub-core/lib/crc.c ../grub-core/lib/adler32.c ../grub-core/lib/crc64.c ../grub-core/normal/datetime.c ../grub-core/normal/misc.c ../grub-core/partmap/acorn.c ../grub-core/partmap/amiga.c ../grub-core/partmap/apple.c ../grub-core/partmap/sun.c ../grub-core/partmap/plan.c ../grub-core/partmap/dvh.c ../grub-core/partmap/sunpc.c ../grub-core/partmap/bsdlabel.c ../grub-core/partmap/dfly.c ../grub-core/script/function.c ../grub-core/script/lexer.c ../grub-core/script/main.c ../grub-core/script/script.c ../grub-core/script/argv.c ../grub-core/io/gzio.c ../grub-core/io/xzio.c ../grub-core/io/lzopio.c ../grub-core/kern/ia64/dl_helper.c ../grub-core/kern/arm/dl_helper.c ../grub-core/kern/arm64/dl_helper.c ../grub-core/lib/minilzo/minilzo.c ../grub-core/lib/xzembed/xz_dec_bcj.c ../grub-core/lib/xzembed/xz_dec_lzma2.c ../grub-core/lib/xzembed/xz_dec_stream.c ../util/misc.c ../grub-core/kern/command.c ../grub-core/kern/device.c ../grub-core/kern/disk.c ../grub-core/lib/disk.c ../util/getroot.c ../grub-core/osdep/unix/getroot.c ../grub-core/osdep/getroot.c ../grub-core/osdep/devmapper/getroot.c ../grub-core/osdep/relpath.c ../grub-core/kern/emu/hostdisk.c ../grub-core/osdep/devmapper/hostdisk.c ../grub-core/osdep/hostdisk.c ../grub-core/osdep/unix/hostdisk.c ../grub-core/osdep/exec.c ../grub-core/osdep/sleep.c ../grub-core/osdep/password.c ../grub-core/kern/emu/misc.c ../grub-core/kern/emu/mm.c ../grub-core/kern/env.c ../grub-core/kern/err.c ../grub-core/kern/file.c ../grub-core/kern/fs.c ../grub-core/kern/list.c ../grub-core/kern/misc.c ../grub-core/kern/partition.c ../grub-core/lib/crypto.c ../grub-core/disk/luks.c ../grub-core/disk/geli.c ../grub-core/disk/cryptodisk.c ../grub-core/disk/AFSplitter.c ../grub-core/lib/pbkdf2.c ../grub-core/commands/extcmd.c ../grub-core/lib/arg.c ../grub-core/disk/ldm.c ../grub-core/disk/diskfilter.c ../grub-core/partmap/gpt.c ../grub-core/partmap/msdos.c ../grub-core/fs/proc.c ../grub-core/fs/archelp.c > libgrub.pp || (rm -f libgrub.pp; exit 1) 10*4882a593Smuzhiyunrm -f stamp-h1 11*4882a593Smuzhiyuntouch ../config-util.h.in 12*4882a593Smuzhiyuncd . && /bin/sh ./config.status config-util.h 13*4882a593Smuzhiyunconfig.status: creating config-util.h 14*4882a593SmuzhiyunIn file included from ../include/grub/mm.h:25:0, 15*4882a593Smuzhiyun from ../include/grub/disk.h:29, 16*4882a593Smuzhiyun from ../include/grub/file.h:26, 17*4882a593Smuzhiyun from ../grub-core/fs/btrfs.c:21: 18*4882a593Smuzhiyun./config.h:38:10: fatal error: ./config-util.h: No such file or directory 19*4882a593Smuzhiyun #include <config-util.h> 20*4882a593Smuzhiyun ^~~~~~~~~~~~~~~ 21*4882a593Smuzhiyuncompilation terminated. 22*4882a593Smuzhiyunmake: *** [Makefile:13098: libgrub.pp] Error 1 23*4882a593Smuzhiyun 24*4882a593SmuzhiyunThis is because libgrub.pp is built with -DGRUB_UTIL=1, which means 25*4882a593Smuzhiyunit'll try to include config-util.h, but a parallel make is actually 26*4882a593Smuzhiyunbuilding that file. I think. 27*4882a593Smuzhiyun 28*4882a593SmuzhiyunSigned-off-by: Peter Jones <pjones@redhat.com> 29*4882a593SmuzhiyunSigned-off-by: Javier Martinez Canillas <javierm@redhat.com> 30*4882a593SmuzhiyunReviewed-by: Daniel Kiper <daniel.kiper@oracle.com> 31*4882a593Smuzhiyun--- 32*4882a593Smuzhiyun Makefile.am | 2 +- 33*4882a593Smuzhiyun 1 file changed, 1 insertion(+), 1 deletion(-) 34*4882a593Smuzhiyun 35*4882a593Smuzhiyundiff --git a/Makefile.am b/Makefile.am 36*4882a593Smuzhiyunindex 1f4bb9b8c..bf9c1ba64 100644 37*4882a593Smuzhiyun--- a/Makefile.am 38*4882a593Smuzhiyun+++ b/Makefile.am 39*4882a593Smuzhiyun@@ -37,7 +37,7 @@ grub_script.yy.c: grub_script.yy.h 40*4882a593Smuzhiyun CLEANFILES += grub_script.yy.c grub_script.yy.h 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun # For libgrub.a 43*4882a593Smuzhiyun-libgrub.pp: grub_script.tab.h grub_script.yy.h $(libgrubmods_a_SOURCES) $(libgrubkern_a_SOURCES) 44*4882a593Smuzhiyun+libgrub.pp: config-util.h grub_script.tab.h grub_script.yy.h $(libgrubmods_a_SOURCES) $(libgrubkern_a_SOURCES) 45*4882a593Smuzhiyun $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgrubmods_a_CPPFLAGS) $(libgrubkern_a_CPPFLAGS) $(CPPFLAGS) \ 46*4882a593Smuzhiyun -D'GRUB_MOD_INIT(x)=@MARKER@x@' $^ > $@ || (rm -f $@; exit 1) 47*4882a593Smuzhiyun CLEANFILES += libgrub.pp 48*4882a593Smuzhiyun-- 49*4882a593Smuzhiyun2.25.1 50*4882a593Smuzhiyun 51*4882a593Smuzhiyundiff --git a/Makefile.in b/Makefile.in 52*4882a593Smuzhiyunindex 1f4bb9b8c..bf9c1ba64 100644 53*4882a593Smuzhiyun--- a/Makefile.in 54*4882a593Smuzhiyun+++ b/Makefile.in 55*4882a593Smuzhiyun@@ -37,7 +37,7 @@ grub_script.yy.c: grub_script.yy.h 56*4882a593Smuzhiyun CLEANFILES += grub_script.yy.c grub_script.yy.h 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun # For libgrub.a 59*4882a593Smuzhiyun-libgrub.pp: grub_script.tab.h grub_script.yy.h $(libgrubmods_a_SOURCES) $(libgrubkern_a_SOURCES) 60*4882a593Smuzhiyun+libgrub.pp: config-util.h grub_script.tab.h grub_script.yy.h $(libgrubmods_a_SOURCES) $(libgrubkern_a_SOURCES) 61*4882a593Smuzhiyun $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgrubmods_a_CPPFLAGS) $(libgrubkern_a_CPPFLAGS) $(CPPFLAGS) \ 62*4882a593Smuzhiyun -D'GRUB_MOD_INIT(x)=@MARKER@x@' $^ > $@ || (rm -f $@; exit 1) 63*4882a593Smuzhiyun CLEANFILES += libgrub.pp 64*4882a593Smuzhiyun-- 65*4882a593Smuzhiyun2.25.1 66*4882a593Smuzhiyun 67