]>
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 | ||
e480c0e5 | 25 | all: builddirs npm_dependencies composer 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 | |
34 | $(NPX) minify-all-cli -s $(CURDIR)/build/html/unmin/ -d $(CURDIR)/build/html/min/ | |
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/ |
d8c46ff7 | 46 | |
d8c46ff7 GJ |
47 | install: installdirs |
48 | cp -rv $(CURDIR)/build/* $(DESTDIR)/ | |
e480c0e5 | 49 | mv $(DESTDIR)/html/min/* $(DESTDIR)/ |
2057341d GJ |
50 | mv $(DESTDIR)/js/* $(DESTDIR)/ |
51 | mv $(DESTDIR)/css/* $(DESTDIR)/ | |
e480c0e5 | 52 | mv $(DESTDIR)/php/* $(DESTDIR)/ |
2057341d GJ |
53 | rm -rf $(DESTDIR)/html |
54 | rm -rf $(DESTDIR)/css | |
55 | rm -rf $(DESTDIR)/js | |
e480c0e5 | 56 | rm -rf $(DESTDIR)/php |
2057341d | 57 | mv $(DESTDIR)/uguu.css $(DESTDIR)/uguu.min.css |
e480c0e5 GJ |
58 | mv $(DESTDIR)/uguu.js $(DESTDIR)/uguu.min.js |
59 | ||
d8c46ff7 GJ |
60 | dist: |
61 | DESTDIR=$(TMPDIR)/uguu-$(PKGVERSION) | |
62 | export DESTDIR | |
63 | install | |
64 | $(TAR) cJf uguu-$(PKG_VERSION).tar.xz $(DESTDIR) | |
65 | rm -rf $(TMPDIR) | |
66 | ||
e480c0e5 | 67 | |
d8c46ff7 GJ |
68 | clean: |
69 | rm -rvf $(CURDIR)/node_modules | |
70 | rm -rvf $(CURDIR)/build | |
71 | ||
e480c0e5 | 72 | |
d8c46ff7 GJ |
73 | uninstall: |
74 | rm -rvf $(DESTDIR)/ | |
75 | ||
e480c0e5 | 76 | |
d8c46ff7 GJ |
77 | npm_dependencies: |
78 | $(NPM) install | |
79 | ||
e480c0e5 GJ |
80 | composer: |
81 | $(CURL) -o composer-setup.php https://raw.githubusercontent.com/composer/getcomposer.org/main/web/installer | |
82 | $(PHP) composer-setup.php --quiet | |
83 | rm composer-setup.php | |
84 | php composer.phar update | |
85 | php composer.phar install | |
0a6585a2 | 86 | |
87 | build-image: | |
e480c0e5 GJ |
88 | tar --exclude='./uguuForDocker.tar.gz' --exclude='./vendor' --exclude='./node_modules' -czf uguuForDocker.tar.gz . |
89 | mv uguuForDocker.tar.gz docker/ | |
0a6585a2 | 90 | docker build -f docker/Dockerfile --build-arg VERSION=$(UGUU_RELEASE_VER) --no-cache -t $(DOCKER_IMAGE):$(DOCKER_TAG) . |
91 | ||
92 | run-container: | |
e480c0e5 | 93 | docker run --name $(CONTAINER_NAME) -d -p 8080:80 -p 8081:443 $(DOCKER_IMAGE):$(DOCKER_TAG) |
0a6585a2 | 94 | |
95 | purge-container: | |
96 | if docker images | grep $(DOCKER_IMAGE); then \ | |
97 | docker rm -f $(CONTAINER_NAME) && docker rmi $(DOCKER_IMAGE):$(DOCKER_TAG) || true;\ | |
98 | fi; | |
99 | ||
d8c46ff7 | 100 | builddirs: |
e480c0e5 GJ |
101 | 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 |
102 |