elm-twitch/Makefile

55 lines
1.4 KiB
Makefile
Raw Normal View History

2020-10-03 17:44:16 +01:00
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