-
Notifications
You must be signed in to change notification settings - Fork 0
/
makefile
71 lines (57 loc) · 1.72 KB
/
makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/gmake -f
### Script: makefile
##
## ファイルを作成する。
##
## Metadata:
##
## id - 8ca50b16-73ee-4cfb-9911-a27106e70ca0
## author - <qq542vev at https://purl.org/meta/me/>
## version - 1.0.1
## date - 2024-06-06
## since - 2024-06-03
## copyright - Copyright (C) 2024-2024 qq542vev. Some rights reserved.
## license - <CC-BY at https://creativecommons.org/licenses/by/4.0/>
## package - bookmarklet-generator
##
## See Also:
##
## * <Project homepage at https://github.com/qq542vev/bookmarklet-generator>
## * <Bag report at https://github.com/qq542vev/bookmarklet-generator>
# Macro
# =====
VERSION = 1.0.1
SRC = src
MIN = minified
.PHONY: all clean help version
all: ${MIN}/index.html
${MIN}/index.html: ${SRC}/index.html ${MIN}/1F517.svg ${MIN}/25B6.svg ${MIN}/274C.svg ${MIN}/main.js ${MIN}/style.css
npx html-inline -i '${<}' --ignore-links | npx html-minifier --collapse-whitespace --conservative-collapse --keep-closing-slash --remove-comments >'${@}'
${MIN}/%.css: ${SRC}/%.css
mkdir -p -- '${@D}'
npx cleancss -O1 'specialComments:off' '${<}' >'${@}'
${MIN}/%.js: ${SRC}/%.js
mkdir -p -- '${@D}'
npx browserify '${<}' | npx uglifyjs --compress >'${@}'
${MIN}/%.svg: ${SRC}/%.svg
mkdir -p -- '${@D}'
npx svgo '${<}' -o - >'${@}'
# Clean
# =====
clean:
rm -rf -- ${MIN}
# Message
# =======
help:
@echo 'ファイルを作成する。'
@echo
@echo 'USAGE:'
@echo ' make [OPTION...] [TARGET...]'
@echo
@echo 'TARGET:'
@echo ' all 全てのファイルを作成する。'
@echo ' clean 作成したファイルを削除する。'
@echo ' help このメッセージを表示する。'
@echo ' version バージョン情報を表示する。'
version:
@echo '${VERSION}'