# 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 dir_${GOOS}_${GOARCH}.go env.go error.go file.go path.go stat_${GOOS}_${GOARCH}.go time.go types.go exec.go proc.go getwd.go sys_${GOOS}.go >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=\
	error.$O\
	types.$O\

O2=\
	proc.$O\
	stat_$(GOOS)_$(GOARCH).$O\
	time.$O\

O3=\
	env.$O\
	file.$O\

O4=\
	dir_$(GOOS)_$(GOARCH).$O\
	exec.$O\
	getwd.$O\
	path.$O\
	sys_$(GOOS).$O\


phases: a1 a2 a3 a4
_obj$D/os.a: phases

a1: $(O1)
	$(AR) grc _obj$D/os.a error.$O types.$O
	rm -f $(O1)

a2: $(O2)
	$(AR) grc _obj$D/os.a proc.$O stat_$(GOOS)_$(GOARCH).$O time.$O
	rm -f $(O2)

a3: $(O3)
	$(AR) grc _obj$D/os.a env.$O file.$O
	rm -f $(O3)

a4: $(O4)
	$(AR) grc _obj$D/os.a dir_$(GOOS)_$(GOARCH).$O exec.$O getwd.$O path.$O sys_$(GOOS).$O
	rm -f $(O4)


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

$(O1): newpkg
$(O2): a1
$(O3): a2
$(O4): a3
$(O5): a4

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

packages: _obj$D/os.a

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