CC ?= gcc

SOURCES := $(wildcard src/*.c)
RELEASE ?= false

CFLAGS ?= -Wall

ifeq ($(RELEASE),true)
	CFLAGS += -O3
else
	CFLAGS += --debug
endif

.PHONY: clean grind release-$(RELEASE)

all: dist/msh

dist/msh: $(SOURCES) dist release-$(RELEASE)
	$(CC) -o $@ $(SOURCES) $(CFLAGS)

dist:
	mkdir -p dist

clean:
	rm -rf dist

grind:
	valgrind --leak-check=full --show-leak-kinds=all ./dist/msh
