File: 0034-compile-unix.mak-add-.o-file-dependency-on-objdir-di.patch

package info (click to toggle)
cmigemo 1%3A1.2%2Bgh0.20220623-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,700 kB
  • sloc: ansic: 2,617; cs: 188; makefile: 173; sh: 107; cpp: 67; perl: 59; csh: 49; javascript: 20
file content (47 lines) | stat: -rw-r--r-- 1,559 bytes parent folder | download | duplicates (2)
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
From 4c7476b614208836c3f4036fca87c8c718043c8b Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <slyich@gmail.com>
Date: Wed, 22 Jun 2022 22:07:18 +0100
Subject: [PATCH 34/36] compile/unix.mak: add .o file dependency on $(objdir)
 directory

Without this change parallel build fails occasionally when object
files are built before directory is being created:

    make[1]: Entering directory '/build/cmigemo'
    gcc -O2 -Wall  -fPIC -o build/object/charset.o -c src/charset.c
    Assembler messages:
    Fatal error: can't create build/object/charset.o: No such file or directory
    make[1]: *** [compile/unix.mak:33: build/object/charset.o] Error 1 shuffle=1655929862
---
 compile/unix.mak | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/compile/unix.mak b/compile/unix.mak
index 8ef6413..8cf525a 100644
--- a/compile/unix.mak
+++ b/compile/unix.mak
@@ -14,7 +14,7 @@ CFLAGS	= -O2 -Wall $(DEFINES) $(CFLAGS_MIGEMO)
 LDFLAGS = $(LDFLAGS_MIGEMO)
 LIBS	= 
 
-default: dirs $(outdir)cmigemo$(EXEEXT)
+default: $(outdir)cmigemo$(EXEEXT)
 
 dirs:
 	@for i in $(objdir) $(outdir); do \
@@ -26,10 +26,10 @@ dirs:
 $(outdir)cmigemo$(EXEEXT): $(objdir)main.$(O) $(libmigemo_LIB)
 	$(CC) -o $@ $(objdir)main.$(O) -L. -L$(outdir) -lmigemo $(LDFLAGS)
 
-$(objdir)main.o: $(srcdir)main.c
+$(objdir)main.o: $(srcdir)main.c dirs
 	$(CC) $(CFLAGS) -o $@ -c $<
 
-$(objdir)%.o: $(srcdir)%.c
+$(objdir)%.o: $(srcdir)%.c dirs
 	$(CC) $(CFLAGS) -o $@ -c $<
 
 ##############################################################################
-- 
2.39.2