]>
Commit | Line | Data |
---|---|---|
7a9e5112 | 1 | SHELL=/bin/bash |
2 | ENV ?= dev | |
3 | export PATH := $(PATH):./node_modules/.bin | |
4 | ||
5 | SRC_DIR=js | |
6 | BUILD_DIR=build/js | |
7 | JSX_SRC= main.jsx signup.jsx signin.jsx otp.jsx poloniex.jsx | |
8 | JS_SRC= cookies.js app.js api.js | |
2f91f20a | 9 | STATIC_FILES= index.html style.css cryptocoins.css cryptocoins.ttf cryptocoins.woff cryptocoins.woff2 |
7a9e5112 | 10 | JSX_OBJS=$(addprefix $(BUILD_DIR)/,$(JSX_SRC:.jsx=.js)) |
11 | JS_OBJS=$(addprefix $(BUILD_DIR)/,$(JS_SRC)) | |
12 | STATIC_BUILD_DIR=build/static | |
13 | ||
14 | install: | |
15 | node --version | |
16 | npm --version | |
17 | yarn --version | |
18 | yarn install | |
19 | ||
2f91f20a | 20 | static: $(STATIC_BUILD_DIR) js $(addprefix $(STATIC_BUILD_DIR)/, $(STATIC_FILES)) |
7a9e5112 | 21 | |
22 | js: build/static/main.js | |
23 | ||
2f91f20a | 24 | $(STATIC_BUILD_DIR)/%: static/% |
25 | cp $< $@ | |
7a9e5112 | 26 | |
2f91f20a | 27 | $(STATIC_BUILD_DIR): |
28 | mkdir -p $(BUILD_DIR) | |
29 | mkdir -p $@ | |
7a9e5112 | 30 | |
31 | $(BUILD_DIR)/%.js: $(SRC_DIR)/%.jsx | |
7a9e5112 | 32 | jscs --fix $< |
33 | babel $< -o $@ | |
34 | jshint $@ | |
35 | ||
36 | $(BUILD_DIR)/%.js: $(SRC_DIR)/%.js | |
37 | jscs --fix $< | |
38 | cp $< $@ | |
39 | jshint $@ | |
40 | ||
41 | build/static/main.js: $(JSX_OBJS) $(JS_OBJS) env/$(ENV).env | |
42 | browserify -t [ localenvify --envfile env/$(ENV).env ] \ | |
43 | -t [ debowerify ] \ | |
44 | $(BUILD_DIR)/main.js -o $@ | |
45 | ||
2f91f20a | 46 | build/webapp.tar.gz: $(addprefix $(STATIC_BUILD_DIR)/, $(STATIC_FILES)) build/static/main.js |
7a9e5112 | 47 | tar czf $@ --directory=$(dir $<) $(notdir $^) |
48 | ||
2f91f20a | 49 | release: $(STATIC_BUILD_DIR) build/webapp.tar.gz |
7a9e5112 | 50 | |
51 | clean: | |
52 | rm -rf build | |
2f91f20a | 53 | rm -rf node_modules |