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