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