]>
Commit | Line | Data |
---|---|---|
d8c46ff7 GJ |
1 | MAKE="make" |
2 | INSTALL="install" | |
3 | TAR="tar" | |
4 | GREP="grep" | |
5 | NODE="node" | |
6 | NPM="npm" | |
2057341d | 7 | NODEJQ="node_modules/node-jq/bin/jq" |
e480c0e5 GJ |
8 | SQLITE="sqlite3" |
9 | CONF="src/config.json" | |
10 | PHP="php" | |
11 | CURL="curl" | |
2057341d GJ |
12 | DESTDIR = $(shell $(CURDIR)/$(NODEJQ) -r ".dest" $(CURDIR)/$(CONF)) |
13 | NPX="npx" | |
14 | PKG_VERSION = $(shell $(CURDIR)/$(NODEJQ) -r ".version" $(CURDIR)/package.json) | |
e480c0e5 | 15 | TMPDIR = $(shell mktemp -d) |
0a6585a2 | 16 | DOCKER_IMAGE = "$(shell basename $(CURDIR) | tr [:upper:] [:lower:])" |
17 | DOCKER_TAG="$(DOCKER_TAG)" | |
18 | CONTAINER_NAME="$(CONTAINER_NAME)" | |
d8c46ff7 GJ |
19 | # default modules |
20 | MODULES="php" | |
21 | ||
2057341d GJ |
22 | pageList = $(shell $(CURDIR)/$(NODEJQ) -r ".pages[]" $(CURDIR)/$(CONF)) |
23 | noExt = $(shell echo $(i) | cut -d '.' -f1) | |
24 | ||
7a464f7d | 25 | all: builddirs npm_dependencies ejs minify-all copy-img copy-php |
2057341d GJ |
26 | |
27 | ejs: | |
28 | $(foreach i,$(pageList), \ | |
e480c0e5 | 29 | $(NPX) ejs -f $(CURDIR)/$(CONF) $(CURDIR)/src/templates/$(i) -o $(CURDIR)/build/html/unmin/$(noExt).html;) |
d8c46ff7 | 30 | |
2057341d | 31 | minify-all: |
e480c0e5 GJ |
32 | $(NPX) minify-all-cli -s $(CURDIR)/src/static/js -d $(CURDIR)/build/js |
33 | $(NPX) minify-all-cli -s $(CURDIR)/src/static/css -d $(CURDIR)/build/css | |
65de952f | 34 | $(NPX) minify-all-cli -s $(CURDIR)/build/html/unmin/ -d $(CURDIR)/build/html/min/ -h |
d8c46ff7 GJ |
35 | |
36 | installdirs: | |
37 | mkdir -p $(DESTDIR)/ $(DESTDIR)/img | |
b43ff07c | 38 | mkdir -p $(DESTDIR)/ $(DESTDIR)/img/grills |
d8c46ff7 GJ |
39 | |
40 | copy-img: | |
e480c0e5 GJ |
41 | $(NPX) imagemin $(CURDIR)/src/static/img/*.png -o=$(CURDIR)/build/img/ |
42 | $(NPX) imagemin $(CURDIR)/src/static/img/grills/*.png --plugin=pngquant -o=$(CURDIR)/build/img/grills/ | |
d8c46ff7 GJ |
43 | |
44 | copy-php: | |
e480c0e5 | 45 | cp -v $(CURDIR)/src/static/php/*.php $(CURDIR)/build/php/ |
83f6699d | 46 | cp -v $(CURDIR)/src/Classes/*.php $(CURDIR)/build/php/Classes/ |
d8c46ff7 | 47 | |
d8c46ff7 GJ |
48 | install: installdirs |
49 | cp -rv $(CURDIR)/build/* $(DESTDIR)/ | |
7a464f7d | 50 | cp $(CURDIR)/src/*.json $(DESTDIR)/ |
8f7f8840 GJ |
51 | mv $(DESTDIR)/html/min/* $(DESTDIR)/public/ |
52 | mv $(DESTDIR)/js/* $(DESTDIR)/public/ | |
53 | mv $(DESTDIR)/css/* $(DESTDIR)/public/ | |
e480c0e5 | 54 | mv $(DESTDIR)/php/* $(DESTDIR)/ |
2057341d GJ |
55 | rm -rf $(DESTDIR)/html |
56 | rm -rf $(DESTDIR)/css | |
57 | rm -rf $(DESTDIR)/js | |
e480c0e5 | 58 | rm -rf $(DESTDIR)/php |
8f7f8840 GJ |
59 | mv $(DESTDIR)/public/uguu.css $(DESTDIR)/public/uguu.min.css |
60 | mv $(DESTDIR)/public/uguu.js $(DESTDIR)/public/uguu.min.js | |
61 | mv $(DESTDIR)/img $(DESTDIR)/public/ | |
62 | mv $(DESTDIR)/grill.php $(DESTDIR)/public/ | |
63 | mv $(DESTDIR)/upload.php $(DESTDIR)/public/ | |
7a464f7d GJ |
64 | cd $(DESTDIR)/ && $(CURL) -o composer-setup.php https://raw.githubusercontent.com/composer/getcomposer.org/main/web/installer |
65 | cd $(DESTDIR)/ && $(PHP) composer-setup.php --quiet | |
66 | cd $(DESTDIR)/ && rm composer-setup.php | |
67 | cd $(DESTDIR)/ && php composer.phar update && php composer.phar install && php composer.phar dump-autoload | |
e480c0e5 | 68 | |
d8c46ff7 GJ |
69 | dist: |
70 | DESTDIR=$(TMPDIR)/uguu-$(PKGVERSION) | |
71 | export DESTDIR | |
72 | install | |
73 | $(TAR) cJf uguu-$(PKG_VERSION).tar.xz $(DESTDIR) | |
74 | rm -rf $(TMPDIR) | |
75 | ||
e480c0e5 | 76 | |
d8c46ff7 GJ |
77 | clean: |
78 | rm -rvf $(CURDIR)/node_modules | |
79 | rm -rvf $(CURDIR)/build | |
80 | ||
e480c0e5 | 81 | |
d8c46ff7 GJ |
82 | uninstall: |
83 | rm -rvf $(DESTDIR)/ | |
84 | ||
e480c0e5 | 85 | |
d8c46ff7 GJ |
86 | npm_dependencies: |
87 | $(NPM) install | |
88 | ||
0a6585a2 | 89 | build-image: |
e480c0e5 GJ |
90 | tar --exclude='./uguuForDocker.tar.gz' --exclude='./vendor' --exclude='./node_modules' -czf uguuForDocker.tar.gz . |
91 | mv uguuForDocker.tar.gz docker/ | |
0a6585a2 | 92 | docker build -f docker/Dockerfile --build-arg VERSION=$(UGUU_RELEASE_VER) --no-cache -t $(DOCKER_IMAGE):$(DOCKER_TAG) . |
93 | ||
94 | run-container: | |
e480c0e5 | 95 | docker run --name $(CONTAINER_NAME) -d -p 8080:80 -p 8081:443 $(DOCKER_IMAGE):$(DOCKER_TAG) |
0a6585a2 | 96 | |
97 | purge-container: | |
98 | if docker images | grep $(DOCKER_IMAGE); then \ | |
99 | docker rm -f $(CONTAINER_NAME) && docker rmi $(DOCKER_IMAGE):$(DOCKER_TAG) || true;\ | |
100 | fi; | |
101 | ||
d8c46ff7 | 102 | builddirs: |
83f6699d | 103 | mkdir -p $(CURDIR)/build $(CURDIR)/build/img $(CURDIR)/build/html $(CURDIR)/build/html/min $(CURDIR)/build/html/unmin $(CURDIR)/build/js $(CURDIR)/build/css $(CURDIR)/build/php $(CURDIR)/build/php/Classes $(CURDIR)/build/public |
e480c0e5 | 104 |