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