diff options
Diffstat (limited to 'java/Makefile.in')
| -rw-r--r-- | java/Makefile.in | 120 |
1 files changed, 93 insertions, 27 deletions
diff --git a/java/Makefile.in b/java/Makefile.in index 802da0b9e36..20d595eb3ca 100644 --- a/java/Makefile.in +++ b/java/Makefile.in | |||
| @@ -44,10 +44,20 @@ ANDROID_JAR = @ANDROID_JAR@ | |||
| 44 | ANDROID_ABI = @ANDROID_ABI@ | 44 | ANDROID_ABI = @ANDROID_ABI@ |
| 45 | ANDROID_SDK_18_OR_EARLIER = @ANDROID_SDK_18_OR_EARLIER@ | 45 | ANDROID_SDK_18_OR_EARLIER = @ANDROID_SDK_18_OR_EARLIER@ |
| 46 | ANDROID_SDK_8_OR_EARLIER = @ANDROID_SDK_8_OR_EARLIER@ | 46 | ANDROID_SDK_8_OR_EARLIER = @ANDROID_SDK_8_OR_EARLIER@ |
| 47 | ZIP = @ZIP@ | ||
| 47 | WARN_JAVAFLAGS = @WARN_JAVAFLAGS@ | 48 | WARN_JAVAFLAGS = @WARN_JAVAFLAGS@ |
| 48 | JAVAFLAGS = $(WARN_JAVAFLAGS) -classpath "$(ANDROID_JAR):$(srcdir)" | 49 | JAVAFLAGS = $(WARN_JAVAFLAGS) -classpath "$(ANDROID_JAR):$(srcdir)" |
| 49 | FIND_DELETE = @FIND_DELETE@ | 50 | FIND_DELETE = @FIND_DELETE@ |
| 50 | 51 | ||
| 52 | ifneq (,$(ANDROID_SDK_8_OR_EARLIER)) | ||
| 53 | # gzip is invoked to compress installed .el and some .txt files, on SDK | ||
| 54 | # 8 and earlier, where ZIP compression is unavailable. | ||
| 55 | GZIP_PROG = @GZIP_PROG@ | ||
| 56 | else | ||
| 57 | GZIP_PROG = | ||
| 58 | endif | ||
| 59 | |||
| 60 | |||
| 51 | # Android 4.3 and earlier require Emacs to be signed with a different | 61 | # Android 4.3 and earlier require Emacs to be signed with a different |
| 52 | # digital signature algorithm. | 62 | # digital signature algorithm. |
| 53 | 63 | ||
| @@ -188,7 +198,7 @@ $(libsrc)/asset-directory-tool: | |||
| 188 | # There is no need to depend on NDK_BUILD_SHARED as libemacs.so | 198 | # There is no need to depend on NDK_BUILD_SHARED as libemacs.so |
| 189 | # does already. | 199 | # does already. |
| 190 | 200 | ||
| 191 | .PHONY: install_temp install_temp/assets/directory-tree | 201 | .PHONY: install_temp |
| 192 | install_temp: $(CROSS_BINS) $(CROSS_LIBS) $(RESOURCE_FILES) | 202 | install_temp: $(CROSS_BINS) $(CROSS_LIBS) $(RESOURCE_FILES) |
| 193 | $(AM_V_GEN) | 203 | $(AM_V_GEN) |
| 194 | # Make the working directory for this stuff | 204 | # Make the working directory for this stuff |
| @@ -223,6 +233,54 @@ install_temp: $(CROSS_BINS) $(CROSS_LIBS) $(RESOURCE_FILES) | |||
| 223 | rm -rf $${subdir}/[mM]akefile*[.-]in ; \ | 233 | rm -rf $${subdir}/[mM]akefile*[.-]in ; \ |
| 224 | rm -rf $${subdir}/Makefile; \ | 234 | rm -rf $${subdir}/Makefile; \ |
| 225 | done | 235 | done |
| 236 | # Compress files if AAPT otherwise will not. | ||
| 237 | $(AM_V_SILENT) \ | ||
| 238 | [ -z "${GZIP_PROG}" ] || { \ | ||
| 239 | echo "Compressing large *.el *.info etc. ..." && \ | ||
| 240 | cd "install_temp/assets/lisp" && \ | ||
| 241 | for f in `find . -name "*.elc" \( -size +1536 -o \ | ||
| 242 | -size 1536 \) -print \ | ||
| 243 | | sed 's/.elc$$/.el/'`; do \ | ||
| 244 | ${GZIP_PROG} -9n "$$f"; \ | ||
| 245 | done; \ | ||
| 246 | ${GZIP_PROG} -9n "../etc/publicsuffix.txt"; \ | ||
| 247 | find ../info -name "*.elc" -size 1536 -o -size +1536 \ | ||
| 248 | | xargs ${GZIP_PROG} -9n ; \ | ||
| 249 | } | ||
| 250 | # Produce metadata files providing build information and suchlike. | ||
| 251 | $(AM_V_SILENT) \ | ||
| 252 | { (cd $(top_srcdir) \ | ||
| 253 | && git rev-parse HEAD || echo "Unknown") \ | ||
| 254 | && (git rev-parse --abbrev-ref HEAD \ | ||
| 255 | || echo "Unknown") } 2> /dev/null > \ | ||
| 256 | install_temp/assets/version | ||
| 257 | $(AM_V_SILENT) \ | ||
| 258 | { hostname; date +%s; } > install_temp/assets/build_info | ||
| 259 | # Produce the file index. | ||
| 260 | $(AM_V_SILENT) $(libsrc)/asset-directory-tool \ | ||
| 261 | install_temp/assets install_temp/assets/directory-tree | ||
| 262 | # If the package targets Android 2.2, move compressable and | ||
| 263 | # non-compressable assets to separate directories. | ||
| 264 | $(AM_V_SILENT) \ | ||
| 265 | if [ -z "${ANDROID_SDK_8_OR_EARLIER}" ]; then :; else \ | ||
| 266 | echo "Moving large and gzipped files to separate directories...">&2;\ | ||
| 267 | mkdir -p install_temp/assets_raw; \ | ||
| 268 | cd install_temp/assets; \ | ||
| 269 | find . \( -size +1536 -o -size 1536 \) \ | ||
| 270 | \( \! -name '*.gz' \) -type f > files.txt; \ | ||
| 271 | tar cf ../assets_raw/largefiles.tar -T files.txt; \ | ||
| 272 | cat files.txt | xargs rm; \ | ||
| 273 | cd ../assets_raw && tar xf largefiles.tar \ | ||
| 274 | && rm largefiles.tar; \ | ||
| 275 | cd ..; \ | ||
| 276 | mkdir -p assets_gz; \ | ||
| 277 | find assets -name '*.gz' -type f > files.txt; \ | ||
| 278 | tar cf assets_gz/gzfiles.tar -T files.txt; \ | ||
| 279 | cat files.txt | xargs rm; \ | ||
| 280 | cd assets_gz && tar xf gzfiles.tar \ | ||
| 281 | && rm gzfiles.tar; \ | ||
| 282 | rm ../assets/files.txt; \ | ||
| 283 | fi | ||
| 226 | # Generate the directory tree for those directories. | 284 | # Generate the directory tree for those directories. |
| 227 | # Install architecture dependents to lib/$(ANDROID_ABI). This | 285 | # Install architecture dependents to lib/$(ANDROID_ABI). This |
| 228 | # perculiar naming scheme is required to make Android preserve these | 286 | # perculiar naming scheme is required to make Android preserve these |
| @@ -252,35 +310,43 @@ ifneq ($(NDK_BUILD_SHARED),) | |||
| 252 | install_temp/lib/$(ANDROID_ABI) | 310 | install_temp/lib/$(ANDROID_ABI) |
| 253 | endif | 311 | endif |
| 254 | 312 | ||
| 255 | install_temp/assets/directory-tree: $(libsrc)/asset-directory-tool \ | 313 | emacs.apk-in: install_temp AndroidManifest.xml classes.dex |
| 256 | install_temp install_temp/assets/version \ | ||
| 257 | install_temp/assets/build_info | ||
| 258 | $(AM_V_GEN) $(libsrc)/asset-directory-tool install_temp/assets \ | ||
| 259 | install_temp/assets/directory-tree | ||
| 260 | |||
| 261 | install_temp/assets/version: install_temp | ||
| 262 | $(AM_V_GEN) { (cd $(top_srcdir) \ | ||
| 263 | && git rev-parse HEAD || echo "Unknown") \ | ||
| 264 | && (git rev-parse --abbrev-ref HEAD \ | ||
| 265 | || echo "Unknown") } 2> /dev/null > $@ | ||
| 266 | |||
| 267 | install_temp/assets/build_info: install_temp | ||
| 268 | $(AM_V_GEN) { hostname; date +%s; } > $@ | ||
| 269 | |||
| 270 | emacs.apk-in: install_temp install_temp/assets/directory-tree \ | ||
| 271 | AndroidManifest.xml install_temp/assets/version \ | ||
| 272 | install_temp/assets/build_info classes.dex | ||
| 273 | # Package everything. Redirect the generated R.java to install_temp, as | 314 | # Package everything. Redirect the generated R.java to install_temp, as |
| 274 | # it must already have been generated as a prerequisite of | 315 | # it must already have been generated as a prerequisite of |
| 275 | # classes.dex's. | 316 | # classes.dex's. If ANDROID_SDK_8_OR_EARLIER, compress those files |
| 276 | $(AM_V_AAPT) $(AAPT) p -I "$(ANDROID_JAR)" -F $@ \ | 317 | # which are smaller than 1536 blocks (i.e. 768 kib), the maximum the |
| 277 | -f -M AndroidManifest.xml $(AAPT_ASSET_ARGS) \ | 318 | # asset manager on such old systems can decompress. |
| 278 | -A install_temp/assets \ | 319 | # |
| 279 | -S $(top_srcdir)/java/res -J install_temp | 320 | # The elaborate dance with zip serves to disable the automatic |
| 321 | # decompression of *.gz files in aapt. | ||
| 322 | # | ||
| 323 | # One more consideration is that timestamps should be preserved in | ||
| 324 | # packaged libraries, as on Android 2.2 the package manager retains | ||
| 325 | # existing libraries from previous installations if a new package's | ||
| 326 | # libraries are not more recent. | ||
| 327 | $(AM_V_AAPT) \ | ||
| 328 | if [ -z "$(ANDROID_SDK_8_OR_EARLIER)" ]; then \ | ||
| 329 | $(AAPT) p -I "$(ANDROID_JAR)" -F $@ \ | ||
| 330 | -f -M AndroidManifest.xml $(AAPT_ASSET_ARGS) \ | ||
| 331 | -A install_temp/assets \ | ||
| 332 | -S $(top_srcdir)/java/res -J install_temp; \ | ||
| 333 | cd install_temp; \ | ||
| 334 | $(AAPT) add ../$@ `find lib -type f`; \ | ||
| 335 | else \ | ||
| 336 | echo "Packaging files not eligible for compression...">&2;\ | ||
| 337 | $(AAPT) p -I "$(ANDROID_JAR)" -F $@ \ | ||
| 338 | -f -M AndroidManifest.xml -A install_temp/assets_raw\ | ||
| 339 | -S $(top_srcdir)/java/res -J install_temp -0 ""; \ | ||
| 340 | echo "Packaging files eligible for compression...">&2;\ | ||
| 341 | cd install_temp; find assets -type f \ | ||
| 342 | | xargs $(ZIP) ../$@ &> /dev/null; \ | ||
| 343 | echo "Packagging files already compressed...">&2; \ | ||
| 344 | cd assets_gz; find assets -type f \ | ||
| 345 | | xargs $(ZIP) ../../$@ &> /dev/null; \ | ||
| 346 | echo "Packaging shared libraries and code..." >&2; \ | ||
| 347 | cd ..; $(ZIP) ../$@ `find lib -type f`; \ | ||
| 348 | fi | ||
| 280 | $(AM_V_SILENT) $(AAPT) a $@ classes.dex | 349 | $(AM_V_SILENT) $(AAPT) a $@ classes.dex |
| 281 | $(AM_V_SILENT) pushd install_temp &> /dev/null; \ | ||
| 282 | $(AAPT) add ../$@ `find lib -type f`; \ | ||
| 283 | popd &> /dev/null | ||
| 284 | $(AM_V_SILENT) rm -rf install_temp | 350 | $(AM_V_SILENT) rm -rf install_temp |
| 285 | 351 | ||
| 286 | # Makefile itself. | 352 | # Makefile itself. |