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