image_optim_pack 0.5.0-x86-openbsd
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +8 -0
- data/.rubocop.yml +79 -0
- data/.travis.yml +35 -0
- data/CHANGELOG.markdown +210 -0
- data/Gemfile +7 -0
- data/LICENSE.txt +27 -0
- data/Makefile +393 -0
- data/README.markdown +93 -0
- data/Vagrantfile +60 -0
- data/acknowledgements/7z.txt +56 -0
- data/acknowledgements/advancecomp.txt +674 -0
- data/acknowledgements/bmp2png.txt +8 -0
- data/acknowledgements/cexcept.txt +8 -0
- data/acknowledgements/gifread.txt +14 -0
- data/acknowledgements/gifsicle.txt +343 -0
- data/acknowledgements/iqa.txt +30 -0
- data/acknowledgements/jhead.txt +12 -0
- data/acknowledgements/jpeg-archive.txt +20 -0
- data/acknowledgements/jpegoptim.txt +339 -0
- data/acknowledgements/libjpeg-turbo.txt +27 -0
- data/acknowledgements/libjpeg-x86-simd.txt +17 -0
- data/acknowledgements/libjpeg.txt +64 -0
- data/acknowledgements/libpng.txt +90 -0
- data/acknowledgements/mozjpeg.txt +7 -0
- data/acknowledgements/optipng-authors.txt +26 -0
- data/acknowledgements/optipng.txt +21 -0
- data/acknowledgements/pngcrush.txt +35 -0
- data/acknowledgements/pngquant.txt +56 -0
- data/acknowledgements/smallfry.txt +13 -0
- data/acknowledgements/zlib.txt +34 -0
- data/acknowledgements/zopfli-contributors.txt +6 -0
- data/acknowledgements/zopfli.txt +201 -0
- data/boxes/.gitignore +3 -0
- data/boxes/.rubocop.yml +13 -0
- data/boxes/Gemfile +11 -0
- data/boxes/Rakefile +144 -0
- data/boxes/definitions/freebsd-amd64/definition.rb +38 -0
- data/boxes/definitions/freebsd-amd64/install.sh +66 -0
- data/boxes/definitions/freebsd-i386/definition.rb +38 -0
- data/boxes/definitions/freebsd-i386/install.sh +66 -0
- data/boxes/definitions/freebsd-postinstall.sh +38 -0
- data/boxes/definitions/openbsd-amd64/definition.rb +71 -0
- data/boxes/definitions/openbsd-i386/definition.rb +71 -0
- data/boxes/definitions/openbsd-postinstall.sh +29 -0
- data/image_optim_pack-darwin-x86.gemspec +3 -0
- data/image_optim_pack-darwin-x86_64.gemspec +3 -0
- data/image_optim_pack-freebsd-amd64.gemspec +3 -0
- data/image_optim_pack-freebsd-x86.gemspec +3 -0
- data/image_optim_pack-linux-x86.gemspec +3 -0
- data/image_optim_pack-linux-x86_64.gemspec +3 -0
- data/image_optim_pack-openbsd-x86.gemspec +3 -0
- data/image_optim_pack-openbsd-x86_64.gemspec +3 -0
- data/image_optim_pack.gemspec +41 -0
- data/lib/image_optim/pack.rb +117 -0
- data/lib/image_optim_pack.rb +1 -0
- data/script/livecheck +116 -0
- data/script/run +71 -0
- data/script/update_versions +22 -0
- data/spec/image_optim/pack_spec.rb +114 -0
- data/spec/image_optim_spec.rb +39 -0
- data/spec/spec_helper.rb +8 -0
- data/vendor/openbsd-i386/advpng +0 -0
- data/vendor/openbsd-i386/gifsicle +0 -0
- data/vendor/openbsd-i386/jhead +0 -0
- data/vendor/openbsd-i386/jpeg-recompress +0 -0
- data/vendor/openbsd-i386/jpegoptim +0 -0
- data/vendor/openbsd-i386/jpegtran +0 -0
- data/vendor/openbsd-i386/libjpeg.so +0 -0
- data/vendor/openbsd-i386/libpng.so +0 -0
- data/vendor/openbsd-i386/libz.so +0 -0
- data/vendor/openbsd-i386/optipng +0 -0
- data/vendor/openbsd-i386/pngcrush +0 -0
- data/vendor/openbsd-i386/pngquant +0 -0
- metadata +182 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a41a16167b80cf9ef3be4d80351b7700d390d765
|
4
|
+
data.tar.gz: dea14064b1a90dd26696bb3640a9a703b58b3c04
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 62e54ac7630941d61d1e39922a2223ad6efd5a1cc44a77f9ffd82811627379924349f46d56c717fd3ea58fd0d4c578a6aa1ac5637deabc5b7d70140daa6cb1ea
|
7
|
+
data.tar.gz: 07620d4cb2e2743b45d130500c5faa0aa7194933ec9da9721947a55f27a6e35733d3b5f616dd8a8a5bced516cc7822c82e2811b7093f57af20c6d083e05b4930
|
data/.gitignore
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
AllCops:
|
2
|
+
Exclude:
|
3
|
+
- '*.gemspec'
|
4
|
+
- 'build/**/*'
|
5
|
+
- 'download/**/*'
|
6
|
+
- Vagrantfile
|
7
|
+
|
8
|
+
Bundler/OrderedGems:
|
9
|
+
Enabled: false
|
10
|
+
|
11
|
+
Metrics/BlockLength:
|
12
|
+
Exclude:
|
13
|
+
- spec/**/*_spec.rb
|
14
|
+
|
15
|
+
Metrics/MethodLength:
|
16
|
+
Max: 15
|
17
|
+
|
18
|
+
Security/YAMLLoad:
|
19
|
+
Exclude:
|
20
|
+
- script/livecheck
|
21
|
+
|
22
|
+
Style/AccessModifierIndentation:
|
23
|
+
EnforcedStyle: outdent
|
24
|
+
|
25
|
+
Style/Alias:
|
26
|
+
EnforcedStyle: prefer_alias_method
|
27
|
+
|
28
|
+
Style/DotPosition:
|
29
|
+
EnforcedStyle: trailing
|
30
|
+
|
31
|
+
Style/DoubleNegation:
|
32
|
+
Enabled: false
|
33
|
+
|
34
|
+
Style/EmptyCaseCondition:
|
35
|
+
Enabled: false
|
36
|
+
|
37
|
+
Style/Encoding:
|
38
|
+
EnforcedStyle: when_needed
|
39
|
+
|
40
|
+
Style/HashSyntax:
|
41
|
+
EnforcedStyle: hash_rockets
|
42
|
+
|
43
|
+
Style/IfUnlessModifier:
|
44
|
+
MaxLineLength: 40
|
45
|
+
|
46
|
+
Style/IndentHash:
|
47
|
+
EnforcedStyle: consistent
|
48
|
+
|
49
|
+
Style/MultilineBlockChain:
|
50
|
+
Enabled: false
|
51
|
+
|
52
|
+
Style/PercentLiteralDelimiters:
|
53
|
+
PreferredDelimiters:
|
54
|
+
'%w': '[]'
|
55
|
+
'%W': '[]'
|
56
|
+
|
57
|
+
Style/Semicolon:
|
58
|
+
AllowAsExpressionSeparator: true
|
59
|
+
|
60
|
+
Style/SignalException:
|
61
|
+
EnforcedStyle: semantic
|
62
|
+
|
63
|
+
Style/SpaceBeforeBlockBraces:
|
64
|
+
EnforcedStyle: no_space
|
65
|
+
|
66
|
+
Style/SpaceInsideHashLiteralBraces:
|
67
|
+
EnforcedStyle: no_space
|
68
|
+
|
69
|
+
Style/SpecialGlobalVars:
|
70
|
+
Enabled: false
|
71
|
+
|
72
|
+
Style/SymbolArray:
|
73
|
+
Enabled: false
|
74
|
+
|
75
|
+
Style/TrailingCommaInArguments:
|
76
|
+
EnforcedStyleForMultiline: no_comma
|
77
|
+
|
78
|
+
Style/TrailingCommaInLiteral:
|
79
|
+
EnforcedStyleForMultiline: comma
|
data/.travis.yml
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
sudo: false
|
2
|
+
language: ruby
|
3
|
+
rvm:
|
4
|
+
- '1.8.7-p371'
|
5
|
+
- '1.9.3-p551'
|
6
|
+
- '2.0.0-p648'
|
7
|
+
- '2.1.10'
|
8
|
+
- '2.2.7'
|
9
|
+
- '2.3.4'
|
10
|
+
- '2.4.1'
|
11
|
+
- 'jruby-1.7.26'
|
12
|
+
- 'jruby-9.0.5.0'
|
13
|
+
- 'jruby-9.1.5.0'
|
14
|
+
script:
|
15
|
+
- make test
|
16
|
+
- bundle exec image_optim --info
|
17
|
+
- bundle exec rspec
|
18
|
+
before_install:
|
19
|
+
if [ $TRAVIS_OS_NAME == osx ]; then brew update && brew install imagemagick; fi
|
20
|
+
matrix:
|
21
|
+
include:
|
22
|
+
- dist: trusty
|
23
|
+
rvm: default
|
24
|
+
- os: osx
|
25
|
+
rvm: default
|
26
|
+
osx_image: xcode7.3
|
27
|
+
- os: osx
|
28
|
+
rvm: default
|
29
|
+
osx_image: xcode8.3
|
30
|
+
- env: RUBOCOP=✓
|
31
|
+
rvm: '2.4.1'
|
32
|
+
script: bundle exec rubocop
|
33
|
+
- env: CHECK_RUBIES=✓
|
34
|
+
rvm: '2.4.1'
|
35
|
+
script: bundle exec travis_check_rubies
|
data/CHANGELOG.markdown
ADDED
@@ -0,0 +1,210 @@
|
|
1
|
+
# ChangeLog
|
2
|
+
|
3
|
+
## unreleased
|
4
|
+
|
5
|
+
## v0.5.0 (2017-05-06)
|
6
|
+
|
7
|
+
* Add gemspec for each platform to also release per platform gems [@toy](https://github.com/toy)
|
8
|
+
|
9
|
+
## v0.4.0 (2017-04-26)
|
10
|
+
|
11
|
+
* pngquant 2.9.1 [@toy](https://github.com/toy)
|
12
|
+
* Rebuild all binaries [@toy](https://github.com/toy)
|
13
|
+
* Update freebsd box definition to 10.3 [@toy](https://github.com/toy)
|
14
|
+
* Switching to ubuntu for linux as centos has outdated gcc, remove centos boxes definitions [@toy](https://github.com/toy)
|
15
|
+
* Fix pngcrush makefile variable overrides [@toy](https://github.com/toy)
|
16
|
+
* Allow custom structure of projects in Makefile which doesn't allow to put resulting binary in the root folder [@toy](https://github.com/toy)
|
17
|
+
|
18
|
+
## v0.3.1.20170318 (2017-03-18)
|
19
|
+
|
20
|
+
* libpng 1.6.29 [@toy](https://github.com/toy)
|
21
|
+
|
22
|
+
## v0.3.1.20170311 (2017-03-11)
|
23
|
+
|
24
|
+
* pngquant 2.9.0 [@toy](https://github.com/toy)
|
25
|
+
|
26
|
+
## v0.3.1.20170121 (2017-01-21)
|
27
|
+
|
28
|
+
* libpng 1.6.28, libz 1.2.11 and pngcrush 1.8.11 [@toy](https://github.com/toy)
|
29
|
+
|
30
|
+
## v0.3.1 (2016-12-30)
|
31
|
+
|
32
|
+
* libpng 1.6.27 and pngquant 2.8.2 [@toy](https://github.com/toy)
|
33
|
+
* Makefile cleanup [@toy](https://github.com/toy)
|
34
|
+
|
35
|
+
## v0.3.0.20161206 (2016-12-06)
|
36
|
+
|
37
|
+
* pngquant 2.8.1 (resort to cloning due to submodule not in archive) [@toy](https://github.com/toy)
|
38
|
+
* advpng 1.23 [@toy](https://github.com/toy)
|
39
|
+
* advpng 1.22 (windows related change) [@toy](https://github.com/toy)
|
40
|
+
|
41
|
+
## v0.3.0.20161108 (2016-11-08)
|
42
|
+
|
43
|
+
* advpng 1.21 [@toy](https://github.com/toy)
|
44
|
+
* pngcrush 1.8.10 [@toy](https://github.com/toy)
|
45
|
+
|
46
|
+
## v0.3.0.20161021 (2016-10-21)
|
47
|
+
|
48
|
+
* libpng 1.6.26 [@toy](https://github.com/toy)
|
49
|
+
* pngcrush 1.8.8 [@toy](https://github.com/toy)
|
50
|
+
|
51
|
+
## v0.3.0.20160927 (2016-09-27)
|
52
|
+
|
53
|
+
* pngcrush 1.8.7 [@toy](https://github.com/toy)
|
54
|
+
|
55
|
+
## v0.3.0.20160905 (2016-09-05)
|
56
|
+
|
57
|
+
* libpng 1.6.25 and pngcrush 1.8.6 [@toy](https://github.com/toy)
|
58
|
+
* jpegoptim 1.4.4 [@toy](https://github.com/toy)
|
59
|
+
|
60
|
+
## v0.3.0.20160812 (2016-08-12)
|
61
|
+
|
62
|
+
* pngcrush 1.8.4 [@toy](https://github.com/toy)
|
63
|
+
|
64
|
+
## v0.3.0.20160806 (2016-08-06)
|
65
|
+
|
66
|
+
* libpng 1.6.24 [@toy](https://github.com/toy)
|
67
|
+
|
68
|
+
## v0.3.0 (2016-07-27)
|
69
|
+
|
70
|
+
* Add FreeBSD and OpenBSD binaries [toy/image_optim#89](https://github.com/toy/image_optim/issues/89) [toy/image_optim#90](https://github.com/toy/image_optim/issues/90) [@toy](https://github.com/toy)
|
71
|
+
* Flatten vendor paths from os/arch to os-arch [@toy](https://github.com/toy)
|
72
|
+
* Add script for build build boxes using veewee [@toy](https://github.com/toy)
|
73
|
+
* pngcrush 1.8.2 [@toy](https://github.com/toy)
|
74
|
+
|
75
|
+
## v0.2.3 (2016-07-09)
|
76
|
+
|
77
|
+
* Change dependency on fspath to allow versions 2.1...4 [@toy](https://github.com/toy)
|
78
|
+
|
79
|
+
## v0.2.2 (2016-07-09)
|
80
|
+
|
81
|
+
* advancecomp 1.20 [@toy](https://github.com/toy)
|
82
|
+
* Rescue `Errno::ENOENT` on load when uname is not available [@toy](https://github.com/toy)
|
83
|
+
|
84
|
+
## v0.2.1.20160610 (2016-06-10)
|
85
|
+
|
86
|
+
* libpng 1.6.23 and pngquant 2.7.1 [@toy](https://github.com/toy)
|
87
|
+
|
88
|
+
## v0.2.1.20160510 (2016-05-10)
|
89
|
+
|
90
|
+
* pngquant 2.7.0 [@toy](https://github.com/toy)
|
91
|
+
|
92
|
+
## v0.2.1.20160413 (2016-04-13)
|
93
|
+
|
94
|
+
* pngcrush 1.8.1 [@toy](https://github.com/toy)
|
95
|
+
|
96
|
+
## v0.2.1.20160406 (2016-04-06)
|
97
|
+
|
98
|
+
* optipng 0.7.6 [@toy](https://github.com/toy)
|
99
|
+
|
100
|
+
## v0.2.1.20160221 (2016-02-21)
|
101
|
+
|
102
|
+
* pngquant 2.6.0 [@toy](https://github.com/toy)
|
103
|
+
|
104
|
+
## v0.2.1.20160119 (2016-01-19)
|
105
|
+
|
106
|
+
* libjpeg 9b [@toy](https://github.com/toy)
|
107
|
+
|
108
|
+
## v0.2.1.20160117 (2016-01-17)
|
109
|
+
|
110
|
+
* pngcrush 1.8.0 [@toy](https://github.com/toy)
|
111
|
+
* libpng 1.6.21 [@toy](https://github.com/toy)
|
112
|
+
|
113
|
+
## v0.2.1.20160103 (2016-01-03)
|
114
|
+
|
115
|
+
* libpng 1.6.20 and pngcrush 1.7.92 [@toy](https://github.com/toy)
|
116
|
+
|
117
|
+
## v0.2.1.20151113 (2015-11-13)
|
118
|
+
|
119
|
+
* libpng 1.6.19 and pngcrush 1.7.88 [@toy](https://github.com/toy)
|
120
|
+
|
121
|
+
## v0.2.1.20151012 (2015-10-12)
|
122
|
+
|
123
|
+
* pngcrush 1.7.87 [@toy](https://github.com/toy)
|
124
|
+
|
125
|
+
## v0.2.1.20151002 (2015-10-02)
|
126
|
+
|
127
|
+
* pngquant 2.5.2 [@toy](https://github.com/toy)
|
128
|
+
|
129
|
+
## v0.2.1.20150808 (2015-08-08)
|
130
|
+
|
131
|
+
* pngquant 2.5.1 [@toy](https://github.com/toy)
|
132
|
+
|
133
|
+
## v0.2.1.20150802 (2015-08-02)
|
134
|
+
|
135
|
+
* libpng 1.6.18 and pngcrush 1.7.86 [@toy](https://github.com/toy)
|
136
|
+
|
137
|
+
## v0.2.1.20150702 (2015-07-02)
|
138
|
+
|
139
|
+
* gifsicle 1.88 and pngquant 2.5.0 [@toy](https://github.com/toy)
|
140
|
+
|
141
|
+
## v0.2.1.20150525 (2015-05-25)
|
142
|
+
|
143
|
+
* jpegoptim 1.4.2 and libmozjpeg 3.1 [@toy](https://github.com/toy)
|
144
|
+
|
145
|
+
## v0.2.1.20150422 (2015-04-22)
|
146
|
+
|
147
|
+
* jpegarchive 2.1.1 [@toy](https://github.com/toy)
|
148
|
+
* pngquant 2.4.1 [@toy](https://github.com/toy)
|
149
|
+
|
150
|
+
## v0.2.1.20150411 (2015-04-11)
|
151
|
+
|
152
|
+
* jpegarchive 2.1.0 using libmozjpeg 3.0 [@toy](https://github.com/toy)
|
153
|
+
|
154
|
+
## v0.2.1.20150407 (2015-04-07)
|
155
|
+
|
156
|
+
* pngquant 2.3.6 [@toy](https://github.com/toy)
|
157
|
+
|
158
|
+
## v0.2.1.20150327 (2015-03-27)
|
159
|
+
|
160
|
+
* libpng 1.6.17 [@toy](https://github.com/toy)
|
161
|
+
|
162
|
+
## v0.2.1.20150310 (2015-03-10)
|
163
|
+
|
164
|
+
* pngcrush 1.7.85 and pngquant 2.3.5 [@toy](https://github.com/toy)
|
165
|
+
|
166
|
+
## v0.2.1.20150305 (2015-03-05)
|
167
|
+
|
168
|
+
* pngcrush 1.7.84 [@toy](https://github.com/toy)
|
169
|
+
|
170
|
+
## v0.2.1.20150203 (2015-02-03)
|
171
|
+
|
172
|
+
* jhead 3.00 [@toy](https://github.com/toy)
|
173
|
+
|
174
|
+
## v0.2.1.20150201 (2015-02-01)
|
175
|
+
|
176
|
+
* pngquant 2.3.4 [@toy](https://github.com/toy)
|
177
|
+
|
178
|
+
## v0.2.1.20150129 (2015-01-29)
|
179
|
+
|
180
|
+
* pngcrush 1.7.83 [@toy](https://github.com/toy)
|
181
|
+
|
182
|
+
## v0.2.1.20150107 (2015-01-07)
|
183
|
+
|
184
|
+
* pngquant 2.3.3 (2.3.2 skipped due to [pornel/pngquant#133](https://github.com/pornel/pngquant/issues/133)) [@toy](https://github.com/toy)
|
185
|
+
|
186
|
+
## v0.2.1 (2014-12-23)
|
187
|
+
|
188
|
+
* jpegoptim 1.4.1, libpng 1.6.16, pngcrush 1.7.82 [@toy](https://github.com/toy)
|
189
|
+
|
190
|
+
## v0.2.0.20141210 (2014-12-10)
|
191
|
+
|
192
|
+
* gifsicle 1.87 [@toy](https://github.com/toy)
|
193
|
+
|
194
|
+
## v0.2.0.20141122 (2014-11-22)
|
195
|
+
|
196
|
+
* libpng 1.6.15 [@toy](https://github.com/toy)
|
197
|
+
* pngcrush 1.7.81 [@toy](https://github.com/toy)
|
198
|
+
* pngcrush 1.7.80 [@toy](https://github.com/toy)
|
199
|
+
|
200
|
+
## v0.2.0 (2014-11-08)
|
201
|
+
|
202
|
+
* Add `jpeg-recompress` from [jpeg-archive](https://github.com/danielgtaylor/jpeg-archive) [@toy](https://github.com/toy)
|
203
|
+
|
204
|
+
## v0.1.0.20141104 (2014-11-04)
|
205
|
+
|
206
|
+
* pngcrush 1.7.79 [@toy](https://github.com/toy)
|
207
|
+
|
208
|
+
## v0.1.0 (2014-11-01)
|
209
|
+
|
210
|
+
* Initial release [@toy](https://github.com/toy)
|
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
Copyright (c) 2014-2017 Ivan Kuchin
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
21
|
+
|
22
|
+
======================================================================
|
23
|
+
|
24
|
+
All binaries and libraries in vendor directory are written by
|
25
|
+
different authors. References can be found in README.markdown.
|
26
|
+
COPYRIGHTS, DISCLAIMERS, LICENSES and NOTES can be found in
|
27
|
+
acknowledgements directory.
|
data/Makefile
ADDED
@@ -0,0 +1,393 @@
|
|
1
|
+
all :
|
2
|
+
|
3
|
+
# ====== VERSIONS ======
|
4
|
+
|
5
|
+
ADVANCECOMP_VER := 1.23
|
6
|
+
GIFSICLE_VER := 1.88
|
7
|
+
JHEAD_VER := 3.00
|
8
|
+
JPEGARCHIVE_VER := 2.1.1
|
9
|
+
JPEGOPTIM_VER := 1.4.4
|
10
|
+
LIBJPEG_VER := 9b
|
11
|
+
LIBMOZJPEG_VER := 3.1
|
12
|
+
LIBPNG_VER := 1.6.29
|
13
|
+
LIBZ_VER := 1.2.11
|
14
|
+
OPTIPNG_VER := 0.7.6
|
15
|
+
PNGCRUSH_VER := 1.8.11
|
16
|
+
PNGQUANT_VER := 2.9.1
|
17
|
+
|
18
|
+
# ====== CONSTANTS ======
|
19
|
+
|
20
|
+
OS := $(shell uname -s | tr A-Z a-z)
|
21
|
+
ARCH := $(shell uname -m)
|
22
|
+
|
23
|
+
IS_DARWIN := $(findstring darwin,$(OS))
|
24
|
+
IS_LINUX := $(findstring linux,$(OS))
|
25
|
+
IS_BSD := $(findstring bsd,$(OS))
|
26
|
+
IS_FREEBSD := $(findstring freebsd,$(OS))
|
27
|
+
IS_OPENBSD := $(findstring openbsd,$(OS))
|
28
|
+
DLEXT := $(if $(IS_DARWIN),.dylib,.so)
|
29
|
+
HOST := $(ARCH)-$(if $(IS_DARWIN),apple,pc)-$(OS)
|
30
|
+
|
31
|
+
DL_DIR := $(CURDIR)/download
|
32
|
+
BUILD_ROOT_DIR := $(CURDIR)/build
|
33
|
+
BUILD_DIR := $(BUILD_ROOT_DIR)/$(OS)-$(ARCH)
|
34
|
+
OUTPUT_ROOT_DIR := $(CURDIR)/vendor
|
35
|
+
OUTPUT_DIR := $(OUTPUT_ROOT_DIR)/$(OS)-$(ARCH)
|
36
|
+
$(shell mkdir -p $(DL_DIR) $(BUILD_DIR) $(OUTPUT_DIR))
|
37
|
+
|
38
|
+
ANSI_RED=\033[31m
|
39
|
+
ANSI_GREEN=\033[32m
|
40
|
+
ANSI_MAGENTA=\033[35m
|
41
|
+
ANSI_RESET=\033[0m
|
42
|
+
|
43
|
+
# ====== HELPERS ======
|
44
|
+
|
45
|
+
downcase = $(shell echo $1 | tr A-Z a-z)
|
46
|
+
|
47
|
+
ln_s := ln -sf
|
48
|
+
tar := $(shell if command -v gtar >/dev/null 2>&1; then echo gtar; else echo tar; fi)
|
49
|
+
|
50
|
+
# ====== ARCHIVES ======
|
51
|
+
|
52
|
+
ARCHIVES :=
|
53
|
+
|
54
|
+
# $1 - name of archive
|
55
|
+
define archive
|
56
|
+
ARCHIVES += $1
|
57
|
+
$1_DIR := $(BUILD_DIR)/$(call downcase,$1)
|
58
|
+
$1_TGZ := $(DL_DIR)/$(call downcase,$1)-$($1_VER).tar.gz
|
59
|
+
$1_EXTRACTED := $$($1_DIR)/__$$(notdir $$($1_TGZ))__
|
60
|
+
$$($1_EXTRACTED) : $$($1_TGZ)
|
61
|
+
rm -rf $$(@D)
|
62
|
+
mkdir $$(@D)
|
63
|
+
$(tar) -C $$(@D) --strip-components=1 -xzf $$<
|
64
|
+
touch $$(@D)/__$$(notdir $$<)__
|
65
|
+
endef
|
66
|
+
|
67
|
+
# $1 - name of archive
|
68
|
+
# $2 - url of archive with [VER] for replace with version
|
69
|
+
define archive-dl
|
70
|
+
$(call archive,$1)
|
71
|
+
# download archive from url
|
72
|
+
$$($1_TGZ) :
|
73
|
+
while ! mkdir $$@.lock 2> /dev/null; do sleep 1; done
|
74
|
+
wget -q -O $$@.tmp $(subst [VER],$($1_VER),$(strip $2))
|
75
|
+
mv $$@.tmp $$@
|
76
|
+
rm -r $$@.lock
|
77
|
+
endef
|
78
|
+
|
79
|
+
$(eval $(call archive-dl,ADVANCECOMP, https://github.com/amadvance/advancecomp/releases/download/v[VER]/advancecomp-[VER].tar.gz))
|
80
|
+
$(eval $(call archive-dl,GIFSICLE, http://www.lcdf.org/gifsicle/gifsicle-[VER].tar.gz))
|
81
|
+
$(eval $(call archive-dl,JHEAD, http://www.sentex.net/~mwandel/jhead/jhead-[VER].tar.gz))
|
82
|
+
$(eval $(call archive-dl,JPEGARCHIVE, https://github.com/danielgtaylor/jpeg-archive/archive/[VER].tar.gz))
|
83
|
+
$(eval $(call archive-dl,JPEGOPTIM, http://www.kokkonen.net/tjko/src/jpegoptim-[VER].tar.gz))
|
84
|
+
$(eval $(call archive-dl,LIBJPEG, http://www.ijg.org/files/jpegsrc.v[VER].tar.gz))
|
85
|
+
$(eval $(call archive-dl,LIBMOZJPEG, https://github.com/mozilla/mozjpeg/archive/v[VER].tar.gz))
|
86
|
+
$(eval $(call archive-dl,LIBPNG, http://prdownloads.sourceforge.net/libpng/libpng-[VER].tar.gz?download))
|
87
|
+
$(eval $(call archive-dl,LIBZ, http://prdownloads.sourceforge.net/libpng/zlib-[VER].tar.gz?download))
|
88
|
+
$(eval $(call archive-dl,OPTIPNG, http://prdownloads.sourceforge.net/optipng/optipng-[VER].tar.gz?download))
|
89
|
+
$(eval $(call archive-dl,PNGCRUSH, http://prdownloads.sourceforge.net/pmt/pngcrush-[VER]-nolib.tar.gz?download))
|
90
|
+
$(eval $(call archive,PNGQUANT))
|
91
|
+
|
92
|
+
PNGQUANT_GIT := $(DL_DIR)/pngquant.git
|
93
|
+
$(PNGQUANT_GIT) :; git clone --recursive https://github.com/pornel/pngquant.git $@
|
94
|
+
$(PNGQUANT_TGZ) : $(PNGQUANT_GIT)
|
95
|
+
while ! mkdir $@.lock 2> /dev/null; do sleep 1; done
|
96
|
+
cd $(PNGQUANT_GIT) && git fetch && git checkout -q $(PNGQUANT_VER) && git submodule -q update
|
97
|
+
cd $(PNGQUANT_GIT) && $(tar) --exclude=.git -czf $(PNGQUANT_TGZ) .
|
98
|
+
rm -r $@.lock
|
99
|
+
|
100
|
+
download : $(foreach archive,$(ARCHIVES),$($(archive)_TGZ))
|
101
|
+
.PHONY : download
|
102
|
+
|
103
|
+
download-tidy-up :
|
104
|
+
rm -f $(filter-out $(foreach archive,$(ARCHIVES),$($(archive)_TGZ)) $(PNGQUANT_GIT),$(wildcard $(DL_DIR)/*.*))
|
105
|
+
.PHONY : download-tidy-up
|
106
|
+
|
107
|
+
# ====== PRODUCTS ======
|
108
|
+
|
109
|
+
PRODUCTS :=
|
110
|
+
|
111
|
+
# $1 - product name
|
112
|
+
# $2 - archive name ($1 if empty)
|
113
|
+
# $3 - path ($1 if empty)
|
114
|
+
define target-build
|
115
|
+
$1_PATH := $(or $3,$(call downcase,$1))
|
116
|
+
$1_BASENAME := $$(notdir $$($1_PATH))
|
117
|
+
$1_DIR := $($(or $2,$1)_DIR)
|
118
|
+
$1_TGZ := $($(or $2,$1)_TGZ)
|
119
|
+
$1_EXTRACTED := $($(or $2,$1)_EXTRACTED)
|
120
|
+
$1_TARGET := $$($1_DIR)/$$($1_PATH)
|
121
|
+
$$($1_TARGET) : DIR := $$($1_DIR)
|
122
|
+
$$($1_TARGET) : $$($1_EXTRACTED)
|
123
|
+
endef
|
124
|
+
|
125
|
+
# $1 - product name
|
126
|
+
# $2 - archive name ($1 if empty)
|
127
|
+
# $3 - basename ($1 if empty)
|
128
|
+
define target
|
129
|
+
$(call target-build,$1,$2,$3)
|
130
|
+
PRODUCTS += $1
|
131
|
+
$1_DESTINATION := $$(OUTPUT_DIR)/$$($1_BASENAME)
|
132
|
+
# copy product to output dir
|
133
|
+
$$($1_DESTINATION) : $$($1_TARGET)
|
134
|
+
temppath=`mktemp "$(BUILD_DIR)"/tmp.XXXXXXXXXX` && \
|
135
|
+
strip $$< -Sx -o "$$$$temppath" && \
|
136
|
+
chmod 755 "$$$$temppath" && \
|
137
|
+
mv "$$$$temppath" $$@
|
138
|
+
# short name target
|
139
|
+
$(call downcase,$1) : | $$($1_DESTINATION)
|
140
|
+
endef
|
141
|
+
|
142
|
+
$(eval $(call target,ADVPNG,ADVANCECOMP))
|
143
|
+
$(eval $(call target,GIFSICLE,,src/gifsicle))
|
144
|
+
$(eval $(call target,JHEAD))
|
145
|
+
$(eval $(call target,JPEG-RECOMPRESS,JPEGARCHIVE))
|
146
|
+
$(eval $(call target,JPEGOPTIM))
|
147
|
+
$(eval $(call target,JPEGTRAN,LIBJPEG,.libs/jpegtran))
|
148
|
+
$(eval $(call target,LIBJPEG,,libjpeg$(DLEXT)))
|
149
|
+
$(eval $(call target-build,LIBMOZJPEG,,libjpeg.a))
|
150
|
+
$(eval $(call target,LIBPNG,,libpng$(DLEXT)))
|
151
|
+
$(eval $(call target,LIBZ,,libz$(DLEXT)))
|
152
|
+
$(eval $(call target,OPTIPNG,,src/optipng/optipng))
|
153
|
+
$(eval $(call target,PNGCRUSH))
|
154
|
+
$(eval $(call target,PNGQUANT))
|
155
|
+
|
156
|
+
# ====== TARGETS ======
|
157
|
+
|
158
|
+
all : build
|
159
|
+
@$(MAKE) test
|
160
|
+
.PHONY : all
|
161
|
+
|
162
|
+
build : $(call downcase,$(PRODUCTS))
|
163
|
+
.PHONY : build
|
164
|
+
|
165
|
+
define check_bin
|
166
|
+
@test -f $(OUTPUT_DIR)/$1 || \
|
167
|
+
{ printf "$(ANSI_RED)no $1 found$(ANSI_RESET)\n"; exit 1; }
|
168
|
+
@printf "$1: "; \
|
169
|
+
VERSION=$$($(OUTPUT_DIR)/$1 $2 | fgrep -o $3) || \
|
170
|
+
{ printf "$(ANSI_RED)Expected $3, got $$($(OUTPUT_DIR)/$1 $2)$(ANSI_RESET)\n"; exit 1; }; \
|
171
|
+
ARCH=$$(file -b $(OUTPUT_DIR)/$1 | fgrep -o '$(ARCH_STRING)') || \
|
172
|
+
{ printf "$(ANSI_RED)Expected $(ARCH_STRING), got $$(file -b $(OUTPUT_DIR)/$1)$(ANSI_RESET)\n"; exit 1; }; \
|
173
|
+
printf "$(ANSI_GREEN)$$VERSION$(ANSI_RESET) / $(ANSI_MAGENTA)$$ARCH$(ANSI_RESET)\n"
|
174
|
+
endef
|
175
|
+
|
176
|
+
ifdef IS_DARWIN
|
177
|
+
test : ARCH_STRING := $(ARCH)
|
178
|
+
else ifeq (i386,$(ARCH:i686=i386))
|
179
|
+
test : ARCH_STRING := 80386
|
180
|
+
else ifeq (amd64,$(ARCH:x86_64=amd64))
|
181
|
+
test : ARCH_STRING := x86-64
|
182
|
+
endif
|
183
|
+
test :
|
184
|
+
$(if $(ARCH_STRING),,@echo Detecting 'ARCH $(ARCH) for OS $(OS) undefined'; false)
|
185
|
+
$(call check_bin,advpng,--version 2>&1,$(ADVANCECOMP_VER))
|
186
|
+
$(call check_bin,gifsicle,--version,$(GIFSICLE_VER))
|
187
|
+
$(call check_bin,jhead,-V,$(JHEAD_VER))
|
188
|
+
$(call check_bin,jpeg-recompress,--version,$(JPEGARCHIVE_VER))
|
189
|
+
$(call check_bin,jpegoptim,--version,$(JPEGOPTIM_VER))
|
190
|
+
$(call check_bin,jpegtran,-v - 2>&1,$(LIBJPEG_VER))
|
191
|
+
$(call check_bin,optipng,--version,$(OPTIPNG_VER))
|
192
|
+
$(call check_bin,pngcrush,-version 2>&1,$(PNGCRUSH_VER))
|
193
|
+
$(call check_bin,pngquant,--help,$(PNGQUANT_VER))
|
194
|
+
.PHONY : test
|
195
|
+
|
196
|
+
livecheck :; @$(foreach archive,$(ARCHIVES),script/livecheck $(call downcase,$(archive)) $($(archive)_VER);)
|
197
|
+
.PHONY : livecheck
|
198
|
+
|
199
|
+
Makefile.updated :
|
200
|
+
cat Makefile | script/update_versions > Makefile.updated
|
201
|
+
|
202
|
+
update-versions : Makefile.updated
|
203
|
+
mv Makefile.updated Makefile
|
204
|
+
.PHONY : update-versions
|
205
|
+
|
206
|
+
# ====== CLEAN ======
|
207
|
+
|
208
|
+
clean :
|
209
|
+
rm -rf $(BUILD_DIR)
|
210
|
+
rm -rf $(OUTPUT_DIR)
|
211
|
+
.PHONY : clean
|
212
|
+
|
213
|
+
clean-all :
|
214
|
+
rm -rf $(BUILD_ROOT_DIR)
|
215
|
+
rm -rf $(OUTPUT_ROOT_DIR)
|
216
|
+
.PHONY : clean-all
|
217
|
+
|
218
|
+
clobber : clean-all
|
219
|
+
rm -rf $(DL_DIR)
|
220
|
+
.PHONY : clobber
|
221
|
+
|
222
|
+
# ====== BUILD HELPERS ======
|
223
|
+
|
224
|
+
# $1 - name of product
|
225
|
+
# $2 - list of dependency products
|
226
|
+
define depend-build
|
227
|
+
# depend this product on every specified product
|
228
|
+
$($1_EXTRACTED) : $$(filter-out $($1_EXTRACTED),$(foreach dep,$2,$$($(dep)_EXTRACTED)))
|
229
|
+
$($1_TARGET) : $(foreach dep,$2,$$($(dep)_TARGET))
|
230
|
+
# add dependent product dir to CPATH, LIBRARY_PATH and PKG_CONFIG_PATH
|
231
|
+
$($1_TARGET) : export CPATH := $(subst $(eval) ,:,$(foreach dep,$2,$$($(dep)_DIR)))
|
232
|
+
$($1_TARGET) : export LIBRARY_PATH := $$(CPATH)
|
233
|
+
$($1_TARGET) : export PKG_CONFIG_PATH := $$(CPATH)
|
234
|
+
endef
|
235
|
+
|
236
|
+
# $1 - name of product
|
237
|
+
# $2 - list of dependency products
|
238
|
+
define depend
|
239
|
+
$(call depend-build,$1,$2)
|
240
|
+
# depend output of this product on output of every specified product
|
241
|
+
$$($1_DESTINATION) : $(foreach dep,$2,$$($(dep)_DESTINATION))
|
242
|
+
endef
|
243
|
+
|
244
|
+
pkgconfig_pwd = perl -pi -e 's/(?<=dir=).*/$$ENV{PWD}/'
|
245
|
+
|
246
|
+
libtool_target_soname = perl -pi -e 's/(?<=soname_spec=)".*"/"$(@F)"/ ; s/(?<=library_names_spec=)".*"/"\\\$$libname\\\$$shared_ext"/' -- libtool
|
247
|
+
|
248
|
+
ifdef IS_DARWIN
|
249
|
+
chrpath_origin =
|
250
|
+
else ifdef IS_OPENBSD
|
251
|
+
chrpath_origin = perl -pi -e 's/XORIGIN/\$$ORIGIN/' -- $1
|
252
|
+
else
|
253
|
+
chrpath_origin = chrpath -r '$$ORIGIN' $1
|
254
|
+
endif
|
255
|
+
|
256
|
+
ifdef IS_LINUX
|
257
|
+
XORIGIN := -Wl,-rpath,XORIGIN
|
258
|
+
else ifdef IS_BSD
|
259
|
+
XORIGIN := -Wl,-rpath,XORIGIN -Wl,-z,origin
|
260
|
+
else
|
261
|
+
XORIGIN :=
|
262
|
+
endif
|
263
|
+
|
264
|
+
# ====== ENV ======
|
265
|
+
|
266
|
+
export CC := gcc
|
267
|
+
export CXX := g++
|
268
|
+
|
269
|
+
GCC_FLAGS := -O3
|
270
|
+
export CFLAGS = $(GCC_FLAGS)
|
271
|
+
export CXXFLAGS = $(GCC_FLAGS)
|
272
|
+
export CPPFLAGS = $(GCC_FLAGS)
|
273
|
+
export LDFLAGS = $(GCC_FLAGS)
|
274
|
+
|
275
|
+
ifdef IS_DARWIN
|
276
|
+
export MACOSX_DEPLOYMENT_TARGET := 10.6
|
277
|
+
GCC_FLAGS += -arch $(ARCH)
|
278
|
+
endif
|
279
|
+
|
280
|
+
ifdef IS_BSD
|
281
|
+
autotool_version = $(shell printf '%s\n' /usr/local/bin/$1-* | egrep -o '[0-9][^-]+$$' | tail -n 1)
|
282
|
+
export AUTOCONF_VERSION := $(call autotool_version,autoconf)
|
283
|
+
export AUTOMAKE_VERSION := $(call autotool_version,automake)
|
284
|
+
endif
|
285
|
+
|
286
|
+
# ====== BUILD TARGETS ======
|
287
|
+
|
288
|
+
## advpng
|
289
|
+
$(eval $(call depend,ADVPNG,LIBZ))
|
290
|
+
$(ADVPNG_TARGET) :
|
291
|
+
cd $(DIR) && ./configure LDFLAGS="$(XORIGIN)"
|
292
|
+
cd $(DIR) && $(MAKE) advpng
|
293
|
+
$(call chrpath_origin,$@)
|
294
|
+
|
295
|
+
## gifsicle
|
296
|
+
$(GIFSICLE_TARGET) :
|
297
|
+
cd $(DIR) && ./configure
|
298
|
+
cd $(DIR) && $(MAKE) gifsicle
|
299
|
+
|
300
|
+
## jhead
|
301
|
+
$(JHEAD_TARGET) :
|
302
|
+
cd $(DIR) && $(MAKE) jhead CC="$(CC) $(CFLAGS)"
|
303
|
+
|
304
|
+
## jpeg-recompress
|
305
|
+
$(eval $(call depend-build,JPEG-RECOMPRESS,LIBMOZJPEG))
|
306
|
+
$(JPEG-RECOMPRESS_TARGET) :
|
307
|
+
cd $(DIR) && $(MAKE) jpeg-recompress CC="$(CC) $(CFLAGS)" LIBJPEG=$(LIBMOZJPEG_TARGET) \
|
308
|
+
MAKE=$(MAKE) # fix for bsd in jpeg-archive-2.1.1
|
309
|
+
|
310
|
+
## jpegoptim
|
311
|
+
$(eval $(call depend,JPEGOPTIM,LIBJPEG))
|
312
|
+
$(JPEGOPTIM_TARGET) :
|
313
|
+
cd $(DIR) && ./configure LDFLAGS="$(XORIGIN)" --host $(HOST)
|
314
|
+
cd $(DIR) && $(MAKE) jpegoptim
|
315
|
+
$(call chrpath_origin,$@)
|
316
|
+
|
317
|
+
## jpegtran
|
318
|
+
$(eval $(call depend,JPEGTRAN,LIBJPEG))
|
319
|
+
$(JPEGTRAN_TARGET) :
|
320
|
+
cd $(DIR) && $(MAKE) jpegtran LDFLAGS="$(XORIGIN)"
|
321
|
+
$(call chrpath_origin,$(JPEGTRAN_TARGET))
|
322
|
+
|
323
|
+
## libjpeg
|
324
|
+
$(LIBJPEG_TARGET) :
|
325
|
+
cd $(DIR) && ./configure CC="$(CC) $(CFLAGS)"
|
326
|
+
cd $(DIR) && $(libtool_target_soname)
|
327
|
+
ifdef IS_DARWIN
|
328
|
+
cd $(DIR) && $(MAKE) libjpeg.la LDFLAGS="-Wl,-install_name,@loader_path/$(@F)"
|
329
|
+
else
|
330
|
+
cd $(DIR) && $(MAKE) libjpeg.la
|
331
|
+
endif
|
332
|
+
cd $(@D) && $(ln_s) .libs/libjpeg$(DLEXT) .
|
333
|
+
|
334
|
+
## libmozjpeg
|
335
|
+
$(LIBMOZJPEG_TARGET) :
|
336
|
+
cd $(DIR) && autoreconf -fiv
|
337
|
+
cd $(DIR) && ./configure --host $(HOST)
|
338
|
+
cd $(DIR)/simd && $(MAKE)
|
339
|
+
cd $(DIR) && $(MAKE) libjpeg.la
|
340
|
+
cd $(DIR) && $(ln_s) .libs/libjpeg.a .
|
341
|
+
|
342
|
+
## libpng
|
343
|
+
$(eval $(call depend,LIBPNG,LIBZ))
|
344
|
+
$(LIBPNG_TARGET) :
|
345
|
+
cd $(DIR) && ./configure CC="$(CC) $(CFLAGS)"
|
346
|
+
cd $(DIR) && $(pkgconfig_pwd) -- *.pc
|
347
|
+
cd $(DIR) && perl -pi -e 's/(?<=lpng)\d+//g' -- *.pc # %MAJOR%%MINOR% suffix
|
348
|
+
cd $(DIR) && $(libtool_target_soname)
|
349
|
+
ifdef IS_DARWIN
|
350
|
+
cd $(DIR) && $(MAKE) libpng16.la LDFLAGS="-Wl,-install_name,@loader_path/$(@F)"
|
351
|
+
else
|
352
|
+
cd $(DIR) && $(MAKE) libpng16.la LDFLAGS="$(XORIGIN)"
|
353
|
+
endif
|
354
|
+
cd $(DIR) && $(ln_s) .libs/libpng16$(DLEXT) libpng$(DLEXT)
|
355
|
+
$(call chrpath_origin,$@)
|
356
|
+
|
357
|
+
## libz
|
358
|
+
ifdef IS_DARWIN
|
359
|
+
$(LIBZ_TARGET) : export LDSHARED = $(CC) -dynamiclib -install_name @loader_path/$(@F) -compatibility_version 1 -current_version $(LIBZ_VER)
|
360
|
+
else
|
361
|
+
$(LIBZ_TARGET) : export LDSHARED = $(CC) -shared -Wl,-soname,$(@F),--version-script,zlib.map
|
362
|
+
endif
|
363
|
+
$(LIBZ_TARGET) :
|
364
|
+
cd $(DIR) && ./configure
|
365
|
+
cd $(DIR) && $(pkgconfig_pwd) -- *.pc
|
366
|
+
cd $(DIR) && $(MAKE) placebo
|
367
|
+
|
368
|
+
## optipng
|
369
|
+
$(eval $(call depend,OPTIPNG,LIBPNG LIBZ))
|
370
|
+
$(OPTIPNG_TARGET) :
|
371
|
+
cd $(DIR) && ./configure -with-system-libs
|
372
|
+
cd $(DIR) && $(MAKE) all LDFLAGS="$(XORIGIN) $(LDFLAGS)"
|
373
|
+
$(call chrpath_origin,$@)
|
374
|
+
|
375
|
+
## pngcrush
|
376
|
+
$(eval $(call depend,PNGCRUSH,LIBPNG LIBZ))
|
377
|
+
$(PNGCRUSH_TARGET) :
|
378
|
+
cd $(DIR) && rm -f png.h pngconf.h
|
379
|
+
cd $(DIR) && $(MAKE) pngcrush \
|
380
|
+
CC="$(CC)" \
|
381
|
+
LD="$(CC)" \
|
382
|
+
LIBS="-lpng -lz -lm" \
|
383
|
+
CFLAGS="$(CFLAGS)" \
|
384
|
+
CPPFLAGS="$(CPPFLAGS)" \
|
385
|
+
LDFLAGS="$(XORIGIN) $(LDFLAGS)"
|
386
|
+
$(call chrpath_origin,$@)
|
387
|
+
|
388
|
+
## pngquant
|
389
|
+
$(eval $(call depend,PNGQUANT,LIBPNG LIBZ))
|
390
|
+
$(PNGQUANT_TARGET) :
|
391
|
+
cd $(DIR) && ./configure --without-cocoa --extra-ldflags="$(XORIGIN)"
|
392
|
+
cd $(DIR) && $(MAKE) pngquant
|
393
|
+
$(call chrpath_origin,$@)
|