diff --git a/src/Make.conf b/src/Make.conf index fa7177aa83c..a90ed0da4d6 100644 --- a/src/Make.conf +++ b/src/Make.conf @@ -6,13 +6,17 @@ CFLAGS=-ggdb -I"$(GOROOT)"/include -O2 -fno-inline O=o YFLAGS=-d # GNU Make syntax: +ifndef GOBIN nullstring := space := $(nullstring) # a space at the end -ifndef GOBIN QUOTED_HOME=$(subst $(space),\ ,$(HOME)) GOBIN=$(QUOTED_HOME)/bin -endif QUOTED_GOBIN=$(subst $(space),\ ,$(GOBIN)) +else +nullstring := +space := $(nullstring) # a space at the end +QUOTED_GOBIN=$(subst $(space),\ ,$(GOBIN)) +endif CC=$(QUOTED_GOBIN)/quietgcc LD=$(QUOTED_GOBIN)/quietgcc diff --git a/src/Make.pkg b/src/Make.pkg index d4196b6e845..b315b2ee1e5 100644 --- a/src/Make.pkg +++ b/src/Make.pkg @@ -6,13 +6,17 @@ all: package package: _obj/$(TARG).a testpackage: _test/$(TARG).a +ifndef GOBIN nullstring := space := $(nullstring) # a space at the end -ifndef GOBIN QUOTED_HOME=$(subst $(space),\ ,$(HOME)) GOBIN=$(QUOTED_HOME)/bin -endif QUOTED_GOBIN=$(subst $(space),\ ,$(GOBIN)) +else +nullstring := +space := $(nullstring) # a space at the end +QUOTED_GOBIN=$(subst $(space),\ ,$(GOBIN)) +endif # GNU Make 3.80 has a bug in lastword # elem=$(lastword $(subst /, ,$(TARG))) @@ -26,6 +30,8 @@ dir=$(patsubst %/$(elem),%,$(TARG)) endif # ugly hack to deal with whitespaces in $GOROOT +nullstring := +space := $(nullstring) # a space at the end QUOTED_GOROOT=$(subst $(space),\ ,$(GOROOT)) pkgdir=$(QUOTED_GOROOT)/pkg/$(GOOS)_$(GOARCH) diff --git a/src/pkg/Makefile b/src/pkg/Makefile index 7d1e80d8db0..f37502d58d4 100644 --- a/src/pkg/Makefile +++ b/src/pkg/Makefile @@ -9,14 +9,6 @@ # # to rebuild the dependency information in Make.deps. -nullstring := -space := $(nullstring) -ifndef GOBIN -QUOTED_HOME=$(subst $(space),\ ,$(HOME)) -GOBIN=$(QUOTED_HOME)/bin -endif -QUOTED_GOBIN=$(subst $(space),\ ,$(GOBIN)) - all: install DIRS=\ @@ -143,16 +135,16 @@ nuke.dirs: $(addsuffix .nuke, $(DIRS)) test.dirs: $(addsuffix .test, $(TEST)) %.clean: - +cd $* && $(QUOTED_GOBIN)/gomake clean + +cd $* && gomake clean %.install: - +cd $* && $(QUOTED_GOBIN)/gomake install + +cd $* && gomake install %.nuke: - +cd $* && $(QUOTED_GOBIN)/gomake nuke + +cd $* && gomake nuke %.test: - +cd $* && $(QUOTED_GOBIN)/gomake test + +cd $* && gomake test clean: clean.dirs