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

include ../../Make.conf

TARG=\
	5a\

HFILES=\
	a.h\
	y.tab.h\
	../5l/5.out.h\

OFILES=\
	y.tab.$O\
	lex.$O\
#	../5l/enam.$O\

YFILES=\
	a.y\

$(TARG): $(OFILES)
	$(LD) -o $(TARG) -L"$(GOROOT)"/lib $(OFILES) -lbio -l9

$(OFILES): $(HFILES)

lex.$O:	../cc/macbody ../cc/lexbody

y.tab.h: $(YFILES)
	bison -y $(YFLAGS) $(YFILES)

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

clean:
	rm -f *.$O $(TARG) *.5 enam.c 5.out a.out y.tab.h y.tab.c

install: $(TARG)
	cp $(TARG) "$(GOBIN)"/$(TARG)
