]>
Commit | Line | Data |
---|---|---|
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 | |
9 | STATIC_FILES= index.html style.css | |
10 | JSX_OBJS=$(addprefix $(BUILD_DIR)/,$(JSX_SRC:.jsx=.js)) | |
11 | JS_OBJS=$(addprefix $(BUILD_DIR)/,$(JS_SRC)) | |
12 | ICONS=$(addprefix $(STATIC_BUILD_DIR)/icons/black/, $(notdir $(wildcard static/icons/black/*.svg))) | |
13 | ICONS+=$(addprefix $(STATIC_BUILD_DIR)/icons/color/, $(notdir $(wildcard static/icons/color/*.svg))) | |
14 | STATIC_BUILD_DIR=build/static | |
15 | ||
16 | $(info $(ICONS)) | |
17 | ||
18 | install: | |
19 | node --version | |
20 | npm --version | |
21 | yarn --version | |
22 | yarn install | |
23 | ||
24 | static: $(STATIC_BUILD_DIR) js $(addprefix $(STATIC_BUILD_DIR)/, $(STATIC_FILES)) $(ICONS) | |
25 | ||
26 | js: build/static/main.js | |
27 | ||
28 | $(STATIC_BUILD_DIR)/%: static/% | |
29 | cp $< $@ | |
30 | ||
31 | $(STATIC_BUILD_DIR): | |
32 | mkdir -p $(BUILD_DIR) | |
33 | mkdir -p $@ | |
34 | mkdir -p $@/icons/black | |
35 | mkdir -p $@/icons/color | |
36 | ||
37 | $(BUILD_DIR)/%.js: $(SRC_DIR)/%.jsx | |
38 | eslint --fix $< | |
39 | cp $< $@ | |
40 | ||
41 | $(BUILD_DIR)/%.js: $(SRC_DIR)/%.js | |
42 | eslint $< | |
43 | cp $< $@ | |
44 | ||
45 | $(STATIC_BUILD_DIR)/icons/black/%.svg: static/icons/black/%.svg | |
46 | cp $< $@ | |
47 | ||
48 | build/static/main.js: $(JSX_OBJS) $(JS_OBJS) env/$(ENV).env | |
49 | browserify -t [ babelify --presets [ env react ] --plugins [ transform-class-properties ] ] \ | |
50 | -t [ localenvify --envfile env/$(ENV).env ] \ | |
51 | -t [ debowerify ] \ | |
52 | $(BUILD_DIR)/main.js -o $@ | |
53 | ||
54 | build/webapp.tar.gz: $(addprefix $(STATIC_BUILD_DIR)/, $(STATIC_FILES)) build/static/main.js $(ICONS) | |
55 | tar czf $@ --directory=$(dir $<) $(subst $(STATIC_BUILD_DIR)/,,$^) | |
56 | ||
57 | release: $(STATIC_BUILD_DIR) build/webapp.tar.gz | |
58 | ||
59 | clean: | |
60 | rm -rf build | |
61 | rm -rf node_modules |