1
0
mirror of https://github.com/golang/go synced 2024-10-03 11:11:22 -06:00
go/src/lib/Makefile
David Symonds 5cb6843a4e Change exvar to use a goroutine channel worker instead of a mutex for synchronisation.
Also it should be more testable, as there's less global state.

R=r
APPROVED=r
DELTA=113  (38 added, 12 deleted, 63 changed)
OCL=27653
CL=27694
2009-04-21 16:50:09 -07:00

129 lines
2.6 KiB
Makefile

# Copyright 2009 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
all: install
GC=6g
DIRS=\
container\
fmt\
go\
hash\
http\
io\
json\
math\
net\
os\
reflect\
regexp\
strconv\
sync\
tabwriter\
template\
time\
unicode\
FILES=\
bignum\
bufio\
exec\
exvar\
flag\
log\
malloc\
once\
rand\
sort\
strings\
testing\
utf8\
TEST=\
bignum\
bufio\
exec\
exvar\
flag\
log\
once\
sort\
strings\
utf8\
clean.dirs: $(addsuffix .dirclean, $(DIRS))
install.dirs: $(addsuffix .dirinstall, $(DIRS))
install.files: $(addsuffix .install, $(FILES))
nuke.dirs: $(addsuffix .dirnuke, $(DIRS))
test.files: $(addsuffix .test, $(TEST))
%.6: %.go
$(GC) $*.go
%.test: %.6
gotest $*_test.go
%.clean:
rm -f $*.6
%.install: %.6
6ar grc $*.a $*.6
mv $*.a $(GOROOT)/pkg/$*.a
rm -f $*.6
%.dirclean:
+cd $* && make clean
%.dirinstall:
+cd $* && make install
%.dirnuke:
+cd $* && make nuke
clean.files:
rm -f 6.out *.6
clean: clean.dirs clean.files
install: install.dirs install.files
nuke: nuke.dirs clean.files
rm -f $(GOROOT)/pkg/*
test: test.files
# TODO: dependencies - should auto-generate
bignum.6: fmt.dirinstall
bufio.6: io.dirinstall os.dirinstall
exec.6: os.dirinstall strings.install
exvar.6: fmt.dirinstall
flag.6: fmt.dirinstall os.dirinstall strconv.dirinstall
log.6: fmt.dirinstall io.dirinstall os.dirinstall time.dirinstall
path.6: io.dirinstall
once.6: sync.dirinstall
strings.6: utf8.install
testing.6: flag.install fmt.dirinstall
fmt.dirinstall: io.dirinstall reflect.dirinstall strconv.dirinstall
go.dirinstall: strconv.dirinstall utf8.install unicode.dirinstall fmt.dirinstall
hash.dirinstall: os.dirinstall
http.dirinstall: bufio.install io.dirinstall net.dirinstall os.dirinstall path.install strings.install log.install
io.dirinstall: os.dirinstall sync.dirinstall
json.dirinstall: container.dirinstall fmt.dirinstall io.dirinstall math.dirinstall \
strconv.dirinstall strings.install utf8.install
# TODO(rsc): net is not supposed to depend on fmt or strings or strconv
net.dirinstall: fmt.dirinstall once.install os.dirinstall strconv.dirinstall strings.install
os.dirinstall: syscall.dirinstall once.install
regexp.dirinstall: os.dirinstall
reflect.dirinstall: strconv.dirinstall sync.dirinstall
strconv.dirinstall: math.dirinstall os.dirinstall utf8.install
sync.dirinstall:
syscall.dirinstall: sync.dirinstall
tabwriter.dirinstall: os.dirinstall io.dirinstall container.dirinstall
template.dirinstall: fmt.dirinstall io.dirinstall os.dirinstall reflect.dirinstall strings.install
time.dirinstall: once.install os.dirinstall io.dirinstall