CC=clang
FLAGS=-g

default: 
	@echo Usage:
	@echo   make run
	@echo   make debug

clean:
	rm -f *so *App a.out
	@echo

layout:
	${CC} ${FLAGS} libstruct.c
	./a.out

shared:
	${CC} ${FLAGS} -o libstruct.so -shared -fPIC libstruct.c

run: getpharo shared
	getpharo/pharo-vm/lib/pharo/5.0-201707201942/pharo getpharo/Pharo.image ../LibStruct.st

debug: getpharo shared
	lldb getpharo/pharo-vm/lib/pharo/5.0-201707201942/pharo      	\
		--one-line 'breakpoint set --name tryGood1'   		\
		--one-line 'breakpoint set --name tryGood2'   		\
		--one-line 'breakpoint set --name tryGood3'   		\
		--one-line 'breakpoint set --name tryBad'     		\
		--one-line 'run getpharo/Pharo.image ../LibStruct.st'

getpharo: 
	mkdir -p getpharo
	curl get.pharo.org/64/ | bash
	cd ..

test:
	getpharo/pharo-vm/lib/pharo/5.0-201707201942/pharo getpharo/Pharo.image  ../LibStruct.st
