summaryrefslogtreecommitdiff
blob: d9cbcfd8683a73b19686452443825fe4d4009cfd (plain)
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
Makefile: Fix parallel build issue

If clean runs in parallel with $(OBJECTS), it is possible to build some
objects first, then the clean target fires and deletes some, and then we
try to link and fail.

Gentoo-Bug: https://bugs.gentoo.org/528218

--- unrar/makefile
+++ unrar/makefile
@@ -142,21 +142,18 @@
 	@rm -f $(OBJECTS) $(UNRAR_OBJ) $(LIB_OBJ)
 	@rm -f unrar libunrar.*
 
-unrar:	clean $(OBJECTS) $(UNRAR_OBJ)
-	@rm -f unrar
+unrar:	$(OBJECTS) $(UNRAR_OBJ)
 	$(LINK) -o unrar $(LDFLAGS) $(OBJECTS) $(UNRAR_OBJ) $(LIBS)	
 	$(STRIP) unrar
 
 sfx:	WHAT=SFX_MODULE
-sfx:	clean $(OBJECTS)
-	@rm -f default.sfx
+sfx:	$(OBJECTS)
 	$(LINK) -o default.sfx $(LDFLAGS) $(OBJECTS)
 	$(STRIP) default.sfx
 
 lib:	WHAT=RARDLL
 lib:	CXXFLAGS+=$(LIBFLAGS)
-lib:	clean $(OBJECTS) $(LIB_OBJ)
-	@rm -f libunrar.*
+lib:	$(OBJECTS) $(LIB_OBJ)
 	$(LINK) -shared -o libunrar.so $(LDFLAGS) $(OBJECTS) $(LIB_OBJ)
 	$(AR) rcs libunrar.a $(OBJECTS) $(LIB_OBJ)