From e613e9dcfcb2619670089711abb3af54069957ca Mon Sep 17 00:00:00 2001 From: Dominic Della Valle Date: Sat, 10 Feb 2018 21:22:54 -0500 Subject: [PATCH] Fix make deps on Windows License: MIT Signed-off-by: Dominic Della Valle --- bin/Rules.mk | 6 +++++- bin/dist_get | 11 +++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/bin/Rules.mk b/bin/Rules.mk index 53e7ce643cb..c1ad365f7ac 100644 --- a/bin/Rules.mk +++ b/bin/Rules.mk @@ -11,8 +11,12 @@ DISTCLEAN += $(wildcard $(d)/gx-v*) $(wildcard $(d)/gx-go-v*) $(d)/tmp PATH := $(realpath $(d)):$(PATH) $(TGTS_$(d)): - rm -f $@ + rm -f $@$(?exe) +ifeq ($(WINDOWS),1) + cp $^$(?exe) $@$(?exe) +else ln -s $(notdir $^) $@ +endif bin/gx-v%: @echo "installing gx $(@:bin/gx-%=%)" diff --git a/bin/dist_get b/bin/dist_get index 891b5e5c2c7..6577b44d208 100755 --- a/bin/dist_get +++ b/bin/dist_get @@ -57,6 +57,13 @@ unarchive() { ua_infile="$2" ua_outfile="$3" ua_distname="$4" + ua_binpostfix="" + ua_os=$(uname -o) + + if [ "$ua_os" = "Msys" ] || [ "$ua_os" = "Cygwin" ] ; then + ua_binpostfix=".exe" + fi + ua_outfile="$ua_outfile$ua_binpostfix" if ! check_writeable "$ua_outfile"; then die "unarchive error: cannot write to $ua_outfile" @@ -66,7 +73,7 @@ unarchive() { tar.gz) if have_binary tar; then echo "==> using 'tar' to extract binary from archive" - < "$ua_infile" tar -Ozxf - "$ua_distname/$ua_distname" > "$ua_outfile" \ + < "$ua_infile" tar -Ozxf - "$ua_distname/$ua_distname$ua_binpostfix" > "$ua_outfile" \ || die "tar has failed" else die "no binary on system for extracting tar files" @@ -75,7 +82,7 @@ unarchive() { zip) if have_binary unzip; then echo "==> using 'unzip' to extract binary from archive" - unzip -p "$ua_infile" "$ua_distname/$ua_distname" > "$ua_outfile" \ + unzip -p "$ua_infile" "$ua_distname/$ua_distname$ua_binpostfix" > "$ua_outfile" \ || die "unzip has failed" else die "no installed method for extracting .zip archives"