Skip to content

Don't create random directories #26277

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jun 13, 2015
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 17 additions & 8 deletions mk/prepare.mk
Original file line number Diff line number Diff line change
Expand Up @@ -29,30 +29,34 @@ DEFAULT_PREPARE_MAN_CMD = install -m644

# Create a directory
# $(1) is the directory
#
# XXX: These defines are called to generate make steps.
# Adding blank lines means two steps from different defines will not end up on
# the same line.
define PREPARE_DIR
@$(Q)$(call E, prepare: $(1))

@$(call E, prepare: $(1))
$(Q)$(PREPARE_DIR_CMD) $(1)

endef

# Copy an executable
# $(1) is the filename/libname-glob
#
# Gee, what's up with that $(nop)? See comment below.
# See above for an explanation on the surrounding blank lines
define PREPARE_BIN
$(nop)

@$(call E, prepare: $(PREPARE_DEST_BIN_DIR)/$(1))
$(Q)$(PREPARE_BIN_CMD) $(PREPARE_SOURCE_BIN_DIR)/$(1) $(PREPARE_DEST_BIN_DIR)/$(1)

endef

# Copy a dylib or rlib
# $(1) is the filename/libname-glob
#
# XXX: Don't remove the $(nop) command below!
# Yeah, that's right, it's voodoo. Something in the way this macro is being expanded
# causes it to parse incorrectly. Throwing in that empty command seems to fix the
# problem. I'm sorry, just don't remove the $(nop), alright?
# See above for an explanation on the surrounding blank lines
define PREPARE_LIB
$(nop)

@$(call E, prepare: $(PREPARE_WORKING_DEST_LIB_DIR)/$(1))
$(Q)LIB_NAME="$(notdir $(lastword $(wildcard $(PREPARE_WORKING_SOURCE_LIB_DIR)/$(1))))"; \
MATCHES="$(filter-out %$(notdir $(lastword $(wildcard $(PREPARE_WORKING_SOURCE_LIB_DIR)/$(1)))), \
Expand All @@ -64,13 +68,18 @@ define PREPARE_LIB
echo $$MATCHES ; \
fi
$(Q)$(PREPARE_LIB_CMD) `ls -drt1 $(PREPARE_WORKING_SOURCE_LIB_DIR)/$(1)` $(PREPARE_WORKING_DEST_LIB_DIR)/

endef

# Copy a man page
# $(1) - source dir
#
# See above for an explanation on the surrounding blank lines
define PREPARE_MAN

@$(call E, prepare: $(PREPARE_DEST_MAN_DIR)/$(1))
$(Q)$(PREPARE_MAN_CMD) $(PREPARE_SOURCE_MAN_DIR)/$(1) $(PREPARE_DEST_MAN_DIR)/$(1)

endef

PREPARE_TOOLS = $(filter-out compiletest rustbook error-index-generator, $(TOOLS))
Expand Down