]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git/blame - cmd/web/Makefile
Factorize Header/Footer code.
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git] / cmd / web / Makefile
CommitLineData
7a9e5112 1SHELL=/bin/bash
2ENV ?= dev
3export PATH := $(PATH):./node_modules/.bin
4
5SRC_DIR=js
6BUILD_DIR=build/js
87b6d05e 7JSX_SRC= header_footer.jsx main.jsx signup.jsx signin.jsx otp.jsx poloniex.jsx password_reset.jsx change_password.jsx
7a9e5112 8JS_SRC= cookies.js app.js api.js
6b3f0ad0 9STATIC_FILES= index.html style.css
7a9e5112 10JSX_OBJS=$(addprefix $(BUILD_DIR)/,$(JSX_SRC:.jsx=.js))
11JS_OBJS=$(addprefix $(BUILD_DIR)/,$(JS_SRC))
6b3f0ad0 12ICONS=$(addprefix $(STATIC_BUILD_DIR)/icons/black/, $(notdir $(wildcard static/icons/black/*.svg)))
13ICONS+=$(addprefix $(STATIC_BUILD_DIR)/icons/color/, $(notdir $(wildcard static/icons/color/*.svg)))
7a9e5112 14STATIC_BUILD_DIR=build/static
15
6b3f0ad0 16$(info $(ICONS))
17
7a9e5112 18install:
19 node --version
20 npm --version
21 yarn --version
22 yarn install
23
6b3f0ad0 24static: $(STATIC_BUILD_DIR) js $(addprefix $(STATIC_BUILD_DIR)/, $(STATIC_FILES)) $(ICONS)
7a9e5112 25
26js: build/static/main.js
27
2f91f20a 28$(STATIC_BUILD_DIR)/%: static/%
29 cp $< $@
7a9e5112 30
2f91f20a 31$(STATIC_BUILD_DIR):
32 mkdir -p $(BUILD_DIR)
33 mkdir -p $@
6b3f0ad0 34 mkdir -p $@/icons/black
35 mkdir -p $@/icons/color
7a9e5112 36
37$(BUILD_DIR)/%.js: $(SRC_DIR)/%.jsx
989fb5c7 38 eslint --fix $<
39 cp $< $@
7a9e5112 40
41$(BUILD_DIR)/%.js: $(SRC_DIR)/%.js
989fb5c7 42 eslint $<
7a9e5112 43 cp $< $@
7a9e5112 44
6b3f0ad0 45$(STATIC_BUILD_DIR)/icons/black/%.svg: static/icons/black/%.svg
46 cp $< $@
47
7a9e5112 48build/static/main.js: $(JSX_OBJS) $(JS_OBJS) env/$(ENV).env
989fb5c7 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 $@
7a9e5112 53
6b3f0ad0 54build/webapp.tar.gz: $(addprefix $(STATIC_BUILD_DIR)/, $(STATIC_FILES)) build/static/main.js $(ICONS)
55 tar czf $@ --directory=$(dir $<) $(subst $(STATIC_BUILD_DIR)/,,$^)
7a9e5112 56
2f91f20a 57release: $(STATIC_BUILD_DIR) build/webapp.tar.gz
7a9e5112 58
59clean:
60 rm -rf build
2f91f20a 61 rm -rf node_modules