all: comp.asm slow.asm

comp.asm: comp
	go tool objdump -s "test_(closure|lambda|goto).*" comp | \
		grep -v ':-1' | sed -E 's@	+[^	]+	+[^	]+	+@:  @' > $@

comp: comp.go
	go build -o comp comp.go

slow.asm: slow
	go tool objdump -s "test_(closure|lambda|goto).*" slow | \
		grep -v ':-1' | sed -E 's@	+[^	]+	+[^	]+	+@:  @' > $@

slow: comp.go
	go build -gcflags "all=-N -l" -o slow comp.go

clean:
	@rm -f comp.asm comp slow.asm slow

bench:
	go test -gcflags "all=-N -l" -bench=. -benchmem
