]>
Commit | Line | Data |
---|---|---|
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" | |
12 | DESTDIR = $(shell $(CURDIR)/$(NODEJQ) -r ".dest" $(CURDIR)/$(CONF)) | |
13 | SITEDOMAIN = $(shell $(CURDIR)/$(NODEJQ) -r ".DOMAIN" $(CURDIR)/$(CONF)) | |
14 | FILESDOMAIN = $(shell $(CURDIR)/$(NODEJQ) -r ".FILE_DOMAIN" $(CURDIR)/$(CONF)) | |
15 | MAXSIZE = $(shell $(CURDIR)/$(NODEJQ) -r ".max_upload_size" $(CURDIR)/$(CONF)) | |
16 | CONTACT_EMAIL = $(shell $(CURDIR)/$(NODEJQ) -r ".infoContact" $(CURDIR)/$(CONF)) | |
17 | PKG_VERSION = $(shell $(CURDIR)/$(NODEJQ) -r ".version" $(CURDIR)/package.json) | |
18 | EXPIRE_TIME = $(shell $(CURDIR)/$(NODEJQ) -r ".expireTime" $(CURDIR)/$(CONF)) | |
19 | TMPDIR = $(shell mktemp -d) | |
20 | DOCKER_IMAGE = "$(shell basename $(CURDIR) | tr [:upper:] [:lower:])" | |
21 | DOCKER_TAG = "$(DOCKER_TAG)" | |
22 | CONTAINER_NAME = "$(CONTAINER_NAME)" | |
23 | pageList = $(shell $(CURDIR)/$(NODEJQ) -r ".pages[]" $(CURDIR)/$(CONF)) | |
24 | noExt = $(shell echo $(i) | cut -d '.' -f1) | |
25 | ||
26 | all: builddirs npm_dependencies ejs "node_modules/minify/bin/minify.js"-all copy-img copy-php | |
27 | ||
28 | ejs: | |
29 | $(foreach i,$(pageList), \ | |
30 | "node_modules/ejs/bin/cli.js" -f $(CURDIR)/$(CONF) $(CURDIR)/src/templates/$(i) -o $(CURDIR)/build/html/unmin/$(noExt).html;) | |
31 | ||
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 | |
36 | "node_modules/minify/bin/minify.js" $(CURDIR)/build/html/unmin/tools.html > $(CURDIR)/build/html/min/tools.html | |
37 | "node_modules/minify/bin/minify.js" $(CURDIR)/build/html/unmin/index.html > $(CURDIR)/build/html/min/index.html | |
38 | ||
39 | installdirs: | |
40 | mkdir -p $(DESTDIR)/ $(DESTDIR)/img | |
41 | mkdir -p $(DESTDIR)/ $(DESTDIR)/img/grills | |
42 | ||
43 | copy-img: | |
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 | ||
47 | ||
48 | copy-php: | |
49 | cp -v $(CURDIR)/src/static/php/*.php $(CURDIR)/build/php/ | |
50 | cp -v $(CURDIR)/src/Classes/*.php $(CURDIR)/build/php/Classes/ | |
51 | ||
52 | install: installdirs | |
53 | cp -rv $(CURDIR)/build/* $(DESTDIR)/ | |
54 | cp $(CURDIR)/src/*.json $(DESTDIR)/ | |
55 | mv $(DESTDIR)/html/min/* $(DESTDIR)/public/ | |
56 | mv $(DESTDIR)/js/* $(DESTDIR)/public/ | |
57 | mv $(DESTDIR)/css/* $(DESTDIR)/public/ | |
58 | mv $(DESTDIR)/php/* $(DESTDIR)/ | |
59 | rm -rf $(DESTDIR)/html | |
60 | rm -rf $(DESTDIR)/css | |
61 | rm -rf $(DESTDIR)/js | |
62 | rm -rf $(DESTDIR)/php | |
63 | mv $(DESTDIR)/img $(DESTDIR)/public/ | |
64 | mv $(DESTDIR)/grill.php $(DESTDIR)/public/ | |
65 | mv $(DESTDIR)/upload.php $(DESTDIR)/public/ | |
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 | |
70 | ||
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) | |
77 | ||
78 | ||
79 | clean: | |
80 | rm -rvf $(CURDIR)/node_modules | |
81 | rm -rvf $(CURDIR)/build | |
82 | ||
83 | ||
84 | uninstall: | |
85 | rm -rvf $(DESTDIR)/ | |
86 | ||
87 | ||
88 | npm_dependencies: | |
89 | $(NPM) install | |
90 | ||
91 | build-container-no-cache: | |
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 | |
93 | mv uguuForDocker.tar.gz docker/ | |
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) . | |
95 | ||
96 | build-container: | |
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 | |
98 | mv uguuForDocker.tar.gz docker/ | |
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) . | |
100 | ||
101 | run-container: | |
102 | docker run --name uguu -d -p 80:80 -p 443:443 uguu:$(PKG_VERSION) | |
103 | ||
104 | purge-containers: | |
105 | if docker images | grep uguu; then \ | |
106 | docker rm -f uguu && docker rmi uguu:$(PKG_VERSION) || true;\ | |
107 | fi; | |
108 | ||
109 | remove-container: | |
110 | docker rm -f uguu | |
111 | ||
112 | builddirs: | |
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 | |
114 |