example-spa-elm-app/frontend/Makefile

40 lines
807 B
Makefile

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 \
--port=8000 \
--start-page=../public/index.html \
--host=localhost \
--proxy-prefix=/ \
--proxy-host=http://localhost:8080 \
-- \
--debug \
--output=../public/elm.min.js
else ifeq ($(RELEASE),1)
$(error Cannot use serve target with RELEASE=1)
endif
clean:
rm elm.js elm.min.js