riichi/priv/Makefile

48 lines
978 B
Makefile

.PHONY: all node-deps clean run
mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
current_dir := $(notdir $(patsubst %/,%,$(dir $(mkfile_path))))
TARGET = js/riichi.js
SOURCE = src/Riichi.elm
CSS = css/riichi.css
CSS_SOURCE = src/Stylesheets.elm
ELM_FILES = $(shell find . -type f -name '*.elm')
NODE_PATH := $(abspath ./node_modules/.bin)
ELM-MAKE := $(NODE_PATH)/elm-make
ELM-REACTOR := $(NODE_PATH)/elm-reactor
ELM-TEST := $(NODE_PATH)/elm-test
ELM-CSS := $(NODE_PATH)/elm-css
ELMMAKE_FLAGS = --yes --warn
ifeq ($(DEBUG),1)
ELMMAKE_FLAGS += --debug
endif
all: node-deps $(TARGET) $(CSS)
node-deps:
npm i
$(TARGET): $(ELM_FILES)
$(ELM-MAKE) $(ELMMAKE_FLAGS) src/Riichi.elm --output=$@
$(CSS): $(CSS_SOURCE)
@PATH=$(NODE_PATH):$(PATH) $(ELM-CSS) $(CSS_SOURCE) -o css
clean-deps:
rm -rf elm-stuff
rm -rf node_modules
test:
@PATH=$(NODE_PATH):$(PATH) $(ELM-TEST)
clean:
rm -f $(TARGET) $(CSS)
rm -rf elm-stuff/build-artifacts
run: all
$(ELM-REACTOR)