Skip to content

Commit 25f51ee

Browse files
committed
Fix rust-lang#3225: Incorporate feedback from Graydon.
Namely, switched in many places to using GNU make provided functions for directory listing and text processing, rather than spawning a shell process to do that work. In the process of the revision, learned about Target-specific variables, which were very applicable to INSTALL_LIB (which, on a per-recipe basis, was always receiving the same actual arguments for its first two formal parameters in every invocation). http://www.gnu.org/software/make/manual/html_node/Target_002dspecific.html (We might be able to make use of those in future refactorings.) ---- Also adds a cleanup pass to get-snapshot.py as well, since the same problem arises when we unpack libraries from the snapshot archive into a build directory with a prior snapshot's artifacts. (I put this step into the python script rather than the makefile because I wanted to delay the cleanup pass until after we have at least successfully downloaded the tarball. That way, if the download fails, you should not destroy the previous unarchived snapshot libraries and build products.) ---- Also reverted whitespace changes to minimize diff. I plan to put them back in in a dedicated commit elsewhere.
1 parent 033ac54 commit 25f51ee

File tree

7 files changed

+156
-120
lines changed

7 files changed

+156
-120
lines changed

Makefile.in

+12-6
Original file line numberDiff line numberDiff line change
@@ -239,19 +239,25 @@ endef
239239
# $(2) is the glob to use in the match
240240
# $(3) is filename (usually the target being created) to filter out from match
241241
# (i.e. filename is not out-of-date artifact from prior Rust version/build)
242-
# The glob denoted by $(2) often is constructed with a space character prefix,
243-
# which is why we cannot just do `ls` on $(1)/$(2).
242+
#
243+
# Note that a common bug is to accidentally construct the glob denoted
244+
# by $(2) with a space character prefix, which invalidates the
245+
# construction $(1)$(2).
244246
define CHECK_FOR_OLD_GLOB_MATCHES_EXCEPT
245-
$(Q)( cd $(1) && ( ls $(2) 2>/dev/null || true ) | grep -v $(3) > /dev/null && echo "Warning: there are previous" '$(2)' "libraries:" || true )
246-
$(Q)( cd $(1) && ( ls $(2) 2>/dev/null || true ) | grep -v $(3) || true )
247+
$(Q)MATCHES="$(filter-out %$(3),$(wildcard $(1)/$(2)))"; if [ -n "$$MATCHES" ] ; then echo "Warning: there are previous" \'$(2)\' "libraries:" $$MATCHES; fi
247248
endef
248249

249250
# Same interface as above, but deletes rather than just listing the files.
250251
define REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT
251-
$(Q)( cd $(1) && ( ls $(2) 2>/dev/null || true ) | grep -v $(3) > /dev/null && echo "Warning: removing previous" '$(2)' "libraries:" || true )
252-
$(Q)( cd $(1) && ( ls $(2) 2>/dev/null || true ) | grep -v $(3) | xargs rm -v )
252+
$(Q)MATCHES="$(filter-out %$(3),$(wildcard $(1)/$(2)))"; if [ -n "$$MATCHES" ] ; then echo "Warning: removing previous" \'$(2)\' "libraries:" $$MATCHES; rm -v $$MATCHES ; fi
253253
endef
254254

255+
# We use a different strategy for LIST_ALL_OLD_GLOB_MATCHES_EXCEPT
256+
# than in the macros above because it needs the result of running the
257+
# `ls` command after other rules in the command list have run; the
258+
# macro-expander for $(wildcard ...) would deliver its results too
259+
# soon. (This is in contrast to the macros above, which are meant to
260+
# be run at the outset of a command list in a rule.)
255261
ifdef VERBOSE
256262
define LIST_ALL_OLD_GLOB_MATCHES_EXCEPT
257263
@echo "Info: now are following matches for" '$(2)' "libraries:"

mk/host.mk

+8-8
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,12 @@ $$(HLIB$(2)_H_$(4))/$(CFG_LIBRUSTC_$(4)): \
4545
| $$(HLIB$(2)_H_$(4))/
4646

4747
@$$(call E, cp: $$@)
48-
$$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(LIBRUSTC_GLOB_$(4)), `basename $$@`)
48+
$$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBRUSTC_GLOB_$(4)),$$(notdir $$@))
4949
$$(Q)cp $$< $$@
5050
$$(Q)cp -R $$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBRUSTC_GLOB_$(4)) \
5151
$(wildcard $$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBRUSTC_DSYM_GLOB_$(4))) \
5252
$$(HLIB$(2)_H_$(4))
53-
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(LIBRUSTC_GLOB_$(4)), `basename $$@`)
53+
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBRUSTC_GLOB_$(4)),$$(notdir $$@))
5454

5555
$$(HLIB$(2)_H_$(4))/$(CFG_LIBSYNTAX_$(4)): \
5656
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBSYNTAX_$(4)) \
@@ -60,12 +60,12 @@ $$(HLIB$(2)_H_$(4))/$(CFG_LIBSYNTAX_$(4)): \
6060
$$(HEXTRALIB_DEFAULT$(2)_H_$(4)) \
6161
| $$(HLIB$(2)_H_$(4))/
6262
@$$(call E, cp: $$@)
63-
$$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(LIBSYNTAX_GLOB_$(4)), `basename $$@`)
63+
$$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBSYNTAX_GLOB_$(4)),$$(notdir $$@))
6464
$$(Q)cp $$< $$@
6565
$$(Q)cp -R $$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBSYNTAX_GLOB_$(4)) \
6666
$$(wildcard $$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBSYNTAX_DSYM_GLOB_$(4))) \
6767
$$(HLIB$(2)_H_$(4))
68-
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(LIBSYNTAX_GLOB_$(4)), `basename $$@`)
68+
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBSYNTAX_GLOB_$(4)),$$(notdir $$@))
6969

7070
$$(HLIB$(2)_H_$(4))/$(CFG_RUNTIME_$(4)): \
7171
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_RUNTIME_$(4)) \
@@ -78,7 +78,7 @@ $$(HLIB$(2)_H_$(4))/$(CFG_STDLIB_$(4)): \
7878
$$(HLIB$(2)_H_$(4))/$(CFG_RUNTIME_$(4)) \
7979
| $$(HLIB$(2)_H_$(4))/
8080
@$$(call E, cp: $$@)
81-
$$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(STDLIB_GLOB_$(4)), `basename $$@`)
81+
$$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(STDLIB_GLOB_$(4)),$$(notdir $$@))
8282
$$(Q)cp $$< $$@
8383
# Subtle: We do not let the shell expand $(STDLIB_DSYM_GLOB) directly rather
8484
# we use Make's $$(wildcard) facility. The reason is that, on mac, when using
@@ -90,20 +90,20 @@ $$(HLIB$(2)_H_$(4))/$(CFG_STDLIB_$(4)): \
9090
$$(Q)cp -R $$(TLIB$(1)_T_$(4)_H_$(3))/$(STDLIB_GLOB_$(4)) \
9191
$$(wildcard $$(TLIB$(1)_T_$(4)_H_$(3))/$(STDLIB_DSYM_GLOB_$(4))) \
9292
$$(HLIB$(2)_H_$(4))
93-
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(STDLIB_GLOB_$(4)), `basename $$@`)
93+
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(STDLIB_GLOB_$(4)),$$(notdir $$@))
9494

9595
$$(HLIB$(2)_H_$(4))/$(CFG_EXTRALIB_$(4)): \
9696
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_EXTRALIB_$(4)) \
9797
$$(HLIB$(2)_H_$(4))/$(CFG_STDLIB_$(4)) \
9898
$$(HLIB$(2)_H_$(4))/$(CFG_RUNTIME_$(4)) \
9999
| $$(HLIB$(2)_H_$(4))/
100100
@$$(call E, cp: $$@)
101-
$$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(EXTRALIB_GLOB_$(4)), `basename $$@`)
101+
$$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(EXTRALIB_GLOB_$(4)),$$(notdir $$@))
102102
$$(Q)cp $$< $$@
103103
$$(Q)cp -R $$(TLIB$(1)_T_$(4)_H_$(3))/$(EXTRALIB_GLOB_$(4)) \
104104
$$(wildcard $$(TLIB$(1)_T_$(4)_H_$(3))/$(EXTRALIB_DSYM_GLOB_$(4))) \
105105
$$(HLIB$(2)_H_$(4))
106-
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(EXTRALIB_GLOB_$(4)), `basename $$@`)
106+
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(EXTRALIB_GLOB_$(4)),$$(notdir $$@))
107107

108108
$$(HLIB$(2)_H_$(4))/libstd.rlib: \
109109
$$(TLIB$(1)_T_$(4)_H_$(3))/libstd.rlib \

mk/install.mk

+61-42
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,46 @@
1212
# For consistency it might be desirable for stageN to be an exact
1313
# mirror of the installation directory structure.
1414

15-
# Installation macro. Call with source directory as arg 1,
16-
# destination directory as arg 2, and filename/libname-glob as arg 3
15+
# Installation macros.
16+
# For INSTALL,
17+
# $(1) is the source dirctory
18+
# $(2) is the destination directory
19+
# $(3) is the filename/libname-glob
1720
ifdef VERBOSE
1821
INSTALL = install -m755 $(1)/$(3) $(2)/$(3)
19-
DO_INSTALL_LIB = install -m644 `ls -drt1 $(1)/$(3) | tail -1` $(2)/
2022
else
2123
INSTALL = $(Q)$(call E, install: $(2)/$(3)) && install -m755 $(1)/$(3) $(2)/$(3)
22-
DO_INSTALL_LIB = $(Q)$(call E, install_lib: $(2)/$(3)) && \
23-
install -m644 `ls -drt1 $(1)/$(3) | tail -1` $(2)/
2424
endif
2525

26-
# $(1) is the source dirctory
27-
# $(2) is the destination directory
28-
# $(3) is the filename/libname-glob
26+
# For INSTALL_LIB,
27+
# Target-specific $(LIB_SOURCE_DIR) is the source directory
28+
# Target-specific $(LIB_DESTIN_DIR) is the destination directory
29+
# $(1) is the filename/libname-glob
30+
ifdef VERBOSE
31+
DO_INSTALL_LIB = install -m644 `ls -drt1 $(LIB_SOURCE_DIR)/$(1) | tail -1` $(LIB_DESTIN_DIR)/
32+
else
33+
DO_INSTALL_LIB = $(Q)$(call E, install_lib: $(LIB_DESTIN_DIR)/$(1)) && \
34+
install -m644 `ls -drt1 $(LIB_SOURCE_DIR)/$(1) | tail -1` $(LIB_DESTIN_DIR)/
35+
endif
36+
37+
# Target-specific $(LIB_SOURCE_DIR) is the source directory
38+
# Target-specific $(LIB_DESTIN_DIR) is the destination directory
39+
# $(1) is the filename/libname-glob
2940
define INSTALL_LIB
30-
LIB_NAME=`ls -drt1 $(1)/$(3) | tail -1 | xargs basename` ; ( ls -drt1 $(2)/$(3) 2>/dev/null || true ) | grep -v $$LIB_NAME >/dev/null 2>&1 && echo "Warning, one or more libraries matching Rust library '$(3)'" && echo " (other than '$$LIB_NAME' itself) already present" && echo " at destination $(2):" && ( ls -drt1 $(2)/$(3) 2>/dev/null || true ) | grep -v $$LIB_NAME || true
31-
$(call DO_INSTALL_LIB,$(1),$(2),$(3))
41+
$(if $(filter-out 1,$(words $(wildcard $(LIB_SOURCE_DIR)/$(1)))), \
42+
$(error Aborting install because more than one library matching \
43+
$(1) is present in build tree $(LIB_SOURCE_DIR): \
44+
$(wildcard $(LIB_SOURCE_DIR)/$(1))))
45+
$(Q)LIB_NAME=$(notdir $(lastword $(wildcard $(LIB_SOURCE_DIR)/$(1)))); \
46+
MATCHES=$(filter-out %$(notdir $(lastword $(wildcard $(LIB_SOURCE_DIR)/$(1)))),\
47+
$(wildcard $(LIB_DESTIN_DIR)/$(1))); \
48+
if [ -n "$$MATCHES" ]; then \
49+
echo "Warning, one or libraries matching Rust library '$(1)'" && \
50+
echo " (other than '$$LIB_NAME' itself) already present" && \
51+
echo " at destination $(LIB_DESTIN_DIR):" && \
52+
echo $$MATCHES ; \
53+
fi
54+
$(call DO_INSTALL_LIB,$(1))
3255
endef
3356

3457
# The stage we install from
@@ -57,38 +80,32 @@ $(foreach target,$(CFG_TARGET_TRIPLES), \
5780
$(eval $(call INSTALL_PREPARE_N,$(target),$(CFG_BUILD_TRIPLE))))
5881

5982
define INSTALL_TARGET_N
83+
install-target-$(1)-host-$(2): LIB_SOURCE_DIR=$$(TL$(1)$(2))
84+
install-target-$(1)-host-$(2): LIB_DESTIN_DIR=$$(PTL$(1)$(2))
6085
install-target-$(1)-host-$(2): $$(TSREQ$$(ISTAGE)_T_$(1)_H_$(2)) $$(SREQ$$(ISTAGE)_T_$(1)_H_$(2))
6186
$$(Q)mkdir -p $$(PTL$(1)$(2))
62-
$$(Q)$$(call INSTALL_LIB,$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(CFG_RUNTIME_$(1)))
63-
$$(Q)$$(call INSTALL_LIB, \
64-
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(STDLIB_GLOB_$(1)))
65-
$$(Q)$$(call INSTALL_LIB, \
66-
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(EXTRALIB_GLOB_$(1)))
67-
$$(Q)$$(call INSTALL_LIB,$$(TL$(1)$(2)),$$(PTL$(1)$(2)),libmorestack.a)
87+
$$(Q)$$(call INSTALL_LIB,$$(CFG_RUNTIME_$(1)))
88+
$$(Q)$$(call INSTALL_LIB,$$(STDLIB_GLOB_$(1)))
89+
$$(Q)$$(call INSTALL_LIB,$$(EXTRALIB_GLOB_$(1)))
90+
$$(Q)$$(call INSTALL_LIB,libmorestack.a)
6891

6992
endef
7093

7194
define INSTALL_HOST_N
95+
install-target-$(1)-host-$(2): LIB_SOURCE_DIR=$$(TL$(1)$(2))
96+
install-target-$(1)-host-$(2): LIB_DESTIN_DIR=$$(PTL$(1)$(2))
7297
install-target-$(1)-host-$(2): $$(CSREQ$$(ISTAGE)_T_$(1)_H_$(2))
7398
$$(Q)mkdir -p $$(PTL$(1)$(2))
74-
$$(Q)$$(call INSTALL_LIB,$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(CFG_RUNTIME_$(1)))
75-
$$(Q)$$(call INSTALL_LIB, \
76-
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(STDLIB_GLOB_$(1)))
77-
$$(Q)$$(call INSTALL_LIB, \
78-
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(EXTRALIB_GLOB_$(1)))
79-
$$(Q)$$(call INSTALL_LIB, \
80-
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(LIBRUSTC_GLOB_$(1)))
81-
$$(Q)$$(call INSTALL_LIB, \
82-
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(LIBSYNTAX_GLOB_$(1)))
83-
$$(Q)$$(call INSTALL_LIB, \
84-
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(LIBRUSTPKG_GLOB_$(1)))
85-
$$(Q)$$(call INSTALL_LIB, \
86-
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(LIBRUSTDOC_GLOB_$(1)))
87-
$$(Q)$$(call INSTALL_LIB, \
88-
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(LIBRUSTI_GLOB_$(1)))
89-
$$(Q)$$(call INSTALL_LIB, \
90-
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(LIBRUST_GLOB_$(1)))
91-
$$(Q)$$(call INSTALL_LIB,$$(TL$(1)$(2)),$$(PTL$(1)$(2)),libmorestack.a)
99+
$$(Q)$$(call INSTALL_LIB,$$(CFG_RUNTIME_$(1)))
100+
$$(Q)$$(call INSTALL_LIB,$$(STDLIB_GLOB_$(1)))
101+
$$(Q)$$(call INSTALL_LIB,$$(EXTRALIB_GLOB_$(1)))
102+
$$(Q)$$(call INSTALL_LIB,$$(LIBRUSTC_GLOB_$(1)))
103+
$$(Q)$$(call INSTALL_LIB,$$(LIBSYNTAX_GLOB_$(1)))
104+
$$(Q)$$(call INSTALL_LIB,$$(LIBRUSTPKG_GLOB_$(1)))
105+
$$(Q)$$(call INSTALL_LIB,$$(LIBRUSTDOC_GLOB_$(1)))
106+
$$(Q)$$(call INSTALL_LIB,$$(LIBRUSTI_GLOB_$(1)))
107+
$$(Q)$$(call INSTALL_LIB,$$(LIBRUST_GLOB_$(1)))
108+
$$(Q)$$(call INSTALL_LIB,libmorestack.a)
92109

93110
endef
94111

@@ -112,6 +129,8 @@ PHB = $(PREFIX_BIN)
112129
# Shorthand for the prefix bin directory
113130
PHL = $(PREFIX_LIB)
114131

132+
install-host: LIB_SOURCE_DIR=$(HL)
133+
install-host: LIB_DESTIN_DIR=$(PHL)
115134
install-host: $(CSREQ$(ISTAGE)_T_$(CFG_BUILD_TRIPLE)_H_$(CFG_BUILD_TRIPLE))
116135
$(Q)mkdir -p $(PREFIX_BIN)
117136
$(Q)mkdir -p $(PREFIX_LIB)
@@ -121,14 +140,14 @@ install-host: $(CSREQ$(ISTAGE)_T_$(CFG_BUILD_TRIPLE)_H_$(CFG_BUILD_TRIPLE))
121140
$(Q)$(call INSTALL,$(HB2),$(PHB),rustdoc$(X_$(CFG_BUILD_TRIPLE)))
122141
$(Q)$(call INSTALL,$(HB2),$(PHB),rusti$(X_$(CFG_BUILD_TRIPLE)))
123142
$(Q)$(call INSTALL,$(HB2),$(PHB),rust$(X_$(CFG_BUILD_TRIPLE)))
124-
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(STDLIB_GLOB_$(CFG_BUILD_TRIPLE)))
125-
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(EXTRALIB_GLOB_$(CFG_BUILD_TRIPLE)))
126-
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(LIBRUSTC_GLOB_$(CFG_BUILD_TRIPLE)))
127-
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(LIBSYNTAX_GLOB_$(CFG_BUILD_TRIPLE)))
128-
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(LIBRUSTI_GLOB_$(CFG_BUILD_TRIPLE)))
129-
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(LIBRUST_GLOB_$(CFG_BUILD_TRIPLE)))
130-
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(LIBRUSTPKG_GLOB_$(CFG_BUILD_TRIPLE)))
131-
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(LIBRUSTDOC_GLOB_$(CFG_BUILD_TRIPLE)))
143+
$(Q)$(call INSTALL_LIB,$(STDLIB_GLOB_$(CFG_BUILD_TRIPLE)))
144+
$(Q)$(call INSTALL_LIB,$(EXTRALIB_GLOB_$(CFG_BUILD_TRIPLE)))
145+
$(Q)$(call INSTALL_LIB,$(LIBRUSTC_GLOB_$(CFG_BUILD_TRIPLE)))
146+
$(Q)$(call INSTALL_LIB,$(LIBSYNTAX_GLOB_$(CFG_BUILD_TRIPLE)))
147+
$(Q)$(call INSTALL_LIB,$(LIBRUSTI_GLOB_$(CFG_BUILD_TRIPLE)))
148+
$(Q)$(call INSTALL_LIB,$(LIBRUST_GLOB_$(CFG_BUILD_TRIPLE)))
149+
$(Q)$(call INSTALL_LIB,$(LIBRUSTPKG_GLOB_$(CFG_BUILD_TRIPLE)))
150+
$(Q)$(call INSTALL_LIB,$(LIBRUSTDOC_GLOB_$(CFG_BUILD_TRIPLE)))
132151
$(Q)$(call INSTALL,$(HL),$(PHL),$(CFG_RUNTIME_$(CFG_BUILD_TRIPLE)))
133152
$(Q)$(call INSTALL,$(HL),$(PHL),$(CFG_RUSTLLVM_$(CFG_BUILD_TRIPLE)))
134153
$(Q)$(call INSTALL,$(S)/man, \

mk/stage0.mk

+6-6
Original file line numberDiff line numberDiff line change
@@ -81,25 +81,25 @@ $$(HLIB0_H_$(1))/$(CFG_STDLIB_$(1)): \
8181
$$(TLIB$(2)_T_$(1)_H_$(3))/$(CFG_STDLIB_$(1)) \
8282
| $(HLIB0_H_$(1))/
8383
@$$(call E, cp: $$@)
84-
$$(call CHECK_FOR_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(EXTRALIB_GLOB_$(4)), `basename $$@`)
84+
$$(call CHECK_FOR_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(EXTRALIB_GLOB_$(4)),$$(notdir $$@))
8585
$$(Q)cp $$(TLIB$(2)_T_$(1)_H_$(3))/$(STDLIB_GLOB_$(1)) $$@
86-
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(EXTRALIB_GLOB_$(4)), `basename $$@`)
86+
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(EXTRALIB_GLOB_$(4)),$$(notdir $$@))
8787

8888
$$(HLIB0_H_$(1))/$(CFG_EXTRALIB_$(1)): \
8989
$$(TLIB$(2)_T_$(1)_H_$(3))/$(CFG_EXTRALIB_$(1)) \
9090
| $(HLIB0_H_$(1))/
9191
@$$(call E, cp: $$@)
92-
$$(call CHECK_FOR_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(EXTRALIB_GLOB_$(4)), `basename $$@`)
92+
$$(call CHECK_FOR_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(EXTRALIB_GLOB_$(4)),$$(notdir $$@))
9393
$$(Q)cp $$(TLIB$(2)_T_$(1)_H_$(3))/$(EXTRALIB_GLOB_$(1)) $$@
94-
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(EXTRALIB_GLOB_$(4)), `basename $$@`)
94+
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(EXTRALIB_GLOB_$(4)),$$(notdir $$@))
9595

9696
$$(HLIB0_H_$(1))/$(CFG_LIBRUSTC_$(1)): \
9797
$$(TLIB$(2)_T_$(1)_H_$(3))/$(CFG_LIBRUSTC_$(1)) \
9898
| $(HLIB0_H_$(1))/
9999
@$$(call E, cp: $$@)
100-
$$(call CHECK_FOR_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(LIBRUSTC_GLOB_$(4)), `basename $$@`)
100+
$$(call CHECK_FOR_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBRUSTC_GLOB_$(4)),$$(notdir $$@))
101101
$$(Q)cp $$(TLIB$(2)_T_$(1)_H_$(3))/$(LIBRUSTC_GLOB_$(1)) $$@
102-
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(LIBRUSTC_GLOB_$(4)), `basename $$@`)
102+
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBRUSTC_GLOB_$(4)),$$(notdir $$@))
103103

104104
$$(HLIB0_H_$(1))/$(CFG_RUSTLLVM_$(1)): \
105105
$$(TLIB$(2)_T_$(1)_H_$(3))/$(CFG_RUSTLLVM_$(1)) \

mk/target.mk

+8-8
Original file line numberDiff line numberDiff line change
@@ -48,19 +48,19 @@ $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB_$(2)): \
4848
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
4949
| $$(TLIB$(1)_T_$(2)_H_$(3))/
5050
@$$(call E, compile_and_link: $$@)
51-
$$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(STDLIB_GLOB_$(2)), `basename $$@`)
51+
$$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(STDLIB_GLOB_$(2)),$$(notdir $$@))
5252
$$(STAGE$(1)_T_$(2)_H_$(3)) $$(WFLAGS_ST$(1)) -o $$@ $$< && touch $$@
53-
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(STDLIB_GLOB_$(2)), `basename $$@`)
53+
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(STDLIB_GLOB_$(2)),$$(notdir $$@))
5454

5555
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_EXTRALIB_$(2)): \
5656
$$(EXTRALIB_CRATE) $$(EXTRALIB_INPUTS) \
5757
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB_$(2)) \
5858
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
5959
| $$(TLIB$(1)_T_$(2)_H_$(3))/
6060
@$$(call E, compile_and_link: $$@)
61-
$$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(EXTRALIB_GLOB_$(2)), `basename $$@`)
61+
$$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(EXTRALIB_GLOB_$(2)),$$(notdir $$@))
6262
$$(STAGE$(1)_T_$(2)_H_$(3)) $$(WFLAGS_ST$(1)) -o $$@ $$< && touch $$@
63-
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(EXTRALIB_GLOB_$(2)), `basename $$@`)
63+
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(EXTRALIB_GLOB_$(2)),$$(notdir $$@))
6464

6565
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBSYNTAX_$(3)): \
6666
$$(LIBSYNTAX_CRATE) $$(LIBSYNTAX_INPUTS) \
@@ -69,9 +69,9 @@ $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBSYNTAX_$(3)): \
6969
$$(TEXTRALIB_DEFAULT$(1)_T_$(2)_H_$(3)) \
7070
| $$(TLIB$(1)_T_$(2)_H_$(3))/
7171
@$$(call E, compile_and_link: $$@)
72-
$$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(LIBSYNTAX_GLOB_$(2)), `basename $$@`)
72+
$$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBSYNTAX_GLOB_$(2)),$$(notdir $$@))
7373
$$(STAGE$(1)_T_$(2)_H_$(3)) $(BORROWCK) -o $$@ $$< && touch $$@
74-
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(LIBSYNTAX_GLOB_$(2)), `basename $$@`)
74+
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBSYNTAX_GLOB_$(2)),$$(notdir $$@))
7575

7676
# Only build the compiler for host triples
7777
ifneq ($$(findstring $(2),$$(CFG_HOST_TRIPLES)),)
@@ -89,9 +89,9 @@ $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTC_$(3)): \
8989
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_RUSTLLVM_$(3)) \
9090
| $$(TLIB$(1)_T_$(2)_H_$(3))/
9191
@$$(call E, compile_and_link: $$@)
92-
$$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(LIBRUSTC_GLOB_$(2)), `basename $$@`)
92+
$$(call REMOVE_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBRUSTC_GLOB_$(2)),$$(notdir $$@))
9393
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< && touch $$@
94-
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT, `dirname $$@`, $(LIBRUSTC_GLOB_$(2)), `basename $$@`)
94+
$$(call LIST_ALL_OLD_GLOB_MATCHES_EXCEPT,$$(dir $$@),$(LIBRUSTC_GLOB_$(2)),$$(notdir $$@))
9595

9696
$$(TBIN$(1)_T_$(2)_H_$(3))/rustc$$(X_$(3)): \
9797
$$(DRIVER_CRATE) \

0 commit comments

Comments
 (0)