SRC_FILES := $(shell find src -name "*.elm") all: elm.min.js .PHONY: elm.min.js serve ifeq ($(DEBUG)$(RELEASE),) # Both are empty $(error You must set exactly one of DEBUG=1 or RELEASE=1) endif ifeq ($(DEBUG)$(RELEASE),11) # Both are set $(error Both DEBUG and RELEASE cannot be set at the same time) endif elm.min.js: ifeq ($(DEBUG),1) ./build.sh --debug src/Main.elm else ifeq ($(RELEASE),1) ./build.sh --optimize src/Main.elm endif serve: ifeq ($(DEBUG),1) elm-go src/Main.elm \ --dir=../public \ --start-page=index.html \ --host=localhost \ -- --debug else ifeq ($(RELEASE),1) $(error Cannot use serve target with RELEASE=1) endif clean: rm elm.js elm.min.js