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

# Makefile included for C libraries

all: $(LIB)

%.$(HOST_O): %.c
	$(HOST_CC) $(HOST_CFLAGS) -c $*.c

$(OFILES): $(HFILES)

ifneq ($(NOINSTALL),1)
install: $(QUOTED_GOROOT)/lib/$(LIB)
endif

$(QUOTED_GOROOT)/lib/$(LIB): $(LIB)
	cp $(LIB) "$(GOROOT)/lib/$(LIB)"

$(LIB): $(OFILES)
	ar rsc $(LIB) $(OFILES)

CLEANFILES+=y.tab.[ch] y.output a.out $(LIB)

clean:
	rm -f *.$(HOST_O) $(CLEANFILES)


y.tab.h: $(YFILES)
	LANG=C LANGUAGE="en_US.UTF8" bison -v -y $(HOST_YFLAGS) $(YFILES)

y.tab.c: y.tab.h
	test -f y.tab.c && touch y.tab.c
