summaryrefslogtreecommitdiff
blob: 61de7ee068912090410e6a58ae7fd81365cde8df (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
36
37
38
39
40
41
42
43
44
45
do not let these targets depend on clean, otherwise it could run in
parallel with the object compile which runs into races
https://bugs.gentoo.org/461806

While we're in here, fix up a few other things:
 - append -pthread to LDFLAGS instead of replacing them
 - do not bother with `rm` in the output since linking will clober it
 - use CXXFLAGS when linking
 - append LIBFLAGS to the individual targets instead of the final link

--- a/makefile
+++ b/makefile
@@ -7,7 +7,7 @@
 LIBFLAGS=-fPIC
 DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP
 STRIP=strip
-LDFLAGS=-pthread
+LDFLAGS+=-pthread
 DESTDIR=/usr
 
 # Linux using LCC
@@ -119,8 +119,7 @@
 	@rm -f *.o *.bak *~
 
 unrar:	clean $(OBJECTS) $(UNRAR_OBJ)
-	@rm -f unrar
-	$(LINK) -o unrar $(LDFLAGS) $(OBJECTS) $(UNRAR_OBJ) $(LIBS)	
+	$(LINK) -o unrar $(CXXFLAGS) $(LDFLAGS) $(OBJECTS) $(UNRAR_OBJ) $(LIBS)	
 	$(STRIP) unrar
 
 sfx:	WHAT=SFX_MODULE
@@ -130,10 +129,9 @@
 	$(STRIP) default.sfx
 
 lib:	WHAT=RARDLL
-lib:	CXXFLAGS+=$(LIBFLAGS)
-lib:	clean $(OBJECTS) $(LIB_OBJ)
-	@rm -f libunrar.so
-	$(LINK) -shared -o libunrar.so $(LDFLAGS) $(OBJECTS) $(LIB_OBJ)
+$(OBJECTS) $(LIB_OBJ):	CXXFLAGS+=$(LIBFLAGS)
+lib:	$(OBJECTS) $(LIB_OBJ)
+	$(LINK) -shared -o libunrar.so $(CXXFLAGS) $(LDFLAGS) $(OBJECTS) $(LIB_OBJ)
 
 install-unrar:
 			install -D unrar $(DESTDIR)/bin/unrar