ifeq ("$(ELM)","") ELM=elm endif ifeq ("$(ELMLIVE)", "") ELMLIVE=elm-live endif ifeq ("$(UGLIFYJS)", "") UGLIFYJS=uglifyjs endif BUILD_DIR=js all: client-dev release: client-release client-dev: client/src/** @mkdir -p $(BUILD_DIR) $(ELM) make src/Main.elm --output $(BUILD_DIR)/main.js client-release: client/src/** @mkdir -p $(BUILD_DIR) @$(ELM) make src/Main.elm --optimize --output $(BUILD_DIR)/main.tmp.js @$(UGLIFYJS) ../$(BUILD_DIR)/main.tmp.js --compress 'pure_funcs="F2,F3,F4,F5,F6,F7,F8,F9,A2,A3,A4,A5,A6,A7,A8,A9",pure_getters,keep_fargs=false,unsafe_comps,unsafe' | uglifyjs --mangle > $(BUILD_DIR)/main.min.js client-watch: @mkdir -p $(BUILD_DIR) @$(ELMLIVE) src/Main.elm -p 7000 -d . -- --output $(BUILD_DIR)/main.js setup-watch: @/bin/echo -e "\033[32;1m Watching\033[0m setup" @cp client/src/Log.elm.debug client/src/Log.elm @mkdir -p $(BUILD_DIR) @cd client && $(ELMLIVE) src/Setup.elm -p 7000 -d ../$(BUILD_DIR)/ -- --output ../$(BUILD_DIR)/setup.js server-dev: @cd server && cargo +nightly build server-release: @cd server && cargo +nightly build --release clean-client: @/bin/echo -e "\033[32;1m Cleaning\033[0m client" @rm -rf $(BUILD_DIR) @/bin/echo -e "\033[32;1m Cleaned\033[0m client" clean-server: @/bin/echo -e "\033[32;1m Cleaning\033[0m server" @cd server && cargo clean @/bin/echo -e "\033[32;1m Cleaned\033[0m server" clean: clean-client clean-server