55 lines
1.4 KiB
Makefile
55 lines
1.4 KiB
Makefile
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
|
|
|