# 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.

# DO NOT EDIT.  Automatically generated by gobuild.
# gobuild -m >Makefile

D=

include $(GOROOT)/src/Make.$(GOARCH)
AR=gopack

default: packages

clean:
	rm -rf *.[$(OS)] *.a [$(OS)].out _obj

test: packages
	gotest

coverage: packages
	gotest
	6cov -g `pwd` | grep -v '_test\.go:'

%.$O: %.go
	$(GC) -I_obj $*.go

%.$O: %.c
	$(CC) $*.c

%.$O: %.s
	$(AS) $*.s

O1=\
	letter.$O\

O2=\
	decimaldigit.$O\


phases: a1 a2
_obj$D/unicode.a: phases

a1: $(O1)
	$(AR) grc _obj$D/unicode.a letter.$O
	rm -f $(O1)

a2: $(O2)
	$(AR) grc _obj$D/unicode.a decimaldigit.$O
	rm -f $(O2)


newpkg: clean
	mkdir -p _obj$D
	$(AR) grc _obj$D/unicode.a

$(O1): newpkg
$(O2): a1
$(O3): a2

nuke: clean
	rm -f $(GOROOT)/pkg/$(GOOS)_$(GOARCH)$D/unicode.a

packages: _obj$D/unicode.a

install: packages
	test -d $(GOROOT)/pkg && mkdir -p $(GOROOT)/pkg/$(GOOS)_$(GOARCH)$D
	cp _obj$D/unicode.a $(GOROOT)/pkg/$(GOOS)_$(GOARCH)$D/unicode.a
