@@ -118,6 +118,13 @@ CURL_TIMESTAMP = $(CURL_DIR)/timestamp
118
118
CURL_TIMESTAMP_INT = $(ROOT ) /deps/curl_timestamp
119
119
CURL_URL_HTTP = http://curl.haxx.se/download/curl-${CURL_VERSION}.tar.bz2
120
120
121
+ GMP_VERSION = 6.0.0
122
+ GMP_DIR = $(ROOT ) /deps/gmp-$(GMP_VERSION )
123
+ GMP_LIB = $(GMP_DIR ) /usr/lib/libgmp.la
124
+ GMP_TIMESTAMP = $(GMP_DIR ) /timestamp
125
+ GMP_TIMESTAMP_INT = $(ROOT ) /deps/gmp_timestamp
126
+ GMP_URL_HTTP = https://gmplib.org/download/gmp/gmp-$(GMP_VERSION ) .tar.bz2
127
+
121
128
FREETYPE_DIR = $(ROOT ) /deps/freetype2-android/
122
129
FREETYPE_LIB = $(FREETYPE_DIR ) /Android/obj/local/$(TARGET_ABI ) /libfreetype2-static.a
123
130
FREETYPE_TIMESTAMP = $(FREETYPE_DIR ) timestamp
@@ -148,14 +155,14 @@ endif
148
155
$(IRRLICHT_TIMESTAMP ) $(CURL_TIMESTAMP ) \
149
156
$(OPENSSL_TIMESTAMP ) curl_binary \
150
157
$(ROOT ) /jni/src/android_version.h
151
-
158
+
152
159
debug : $(PATHCFGFILE )
153
160
export NDEBUG=; \
154
161
export BUILD_TYPE=debug; \
155
162
$(MAKE ) apk
156
-
163
+
157
164
all : debug release
158
-
165
+
159
166
release : $(PATHCFGFILE )
160
167
@export NDEBUG=1; \
161
168
export BUILD_TYPE=release; \
@@ -194,15 +201,15 @@ $(OPENAL_TIMESTAMP) : openal_download
194
201
if [ $$ (basename $$ LAST_MODIF) != " timestamp" ] ; then \
195
202
touch ${OPENAL_TIMESTAMP} ; \
196
203
fi
197
-
204
+
198
205
openal_download :
199
206
@if [ ! -d ${OPENAL_DIR} ] ; then \
200
207
echo " openal sources missing, downloading..." ; \
201
208
mkdir -p ${ROOT} /deps; \
202
209
cd ${ROOT} /deps ; \
203
210
git clone ${OPENAL_URL_GIT} || exit 1; \
204
211
fi
205
-
212
+
206
213
openal : $(OPENAL_LIB )
207
214
208
215
$(OPENAL_LIB ) : $(OPENAL_TIMESTAMP )
@@ -227,16 +234,16 @@ $(OPENAL_LIB): $(OPENAL_TIMESTAMP)
227
234
else \
228
235
echo " nothing to be done for openal" ; \
229
236
fi
230
-
237
+
231
238
clean_openal :
232
239
$(RM ) -rf ${OPENAL_DIR}
233
-
240
+
234
241
$(OGG_TIMESTAMP ) : ogg_download
235
242
@LAST_MODIF=$$(find ${OGG_DIR} -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" " ) ; \
236
243
if [ $$ (basename $$ LAST_MODIF) != " timestamp" ] ; then \
237
244
touch ${OGG_TIMESTAMP} ; \
238
245
fi
239
-
246
+
240
247
ogg_download :
241
248
@if [ ! -d ${OGG_DIR} ] ; then \
242
249
echo " ogg sources missing, downloading..." ; \
@@ -246,7 +253,7 @@ ogg_download :
246
253
cd libvorbis-libogg-android ; \
247
254
patch -p1 < ../../libvorbis-libogg-fpu.patch || exit 1; \
248
255
fi
249
-
256
+
250
257
ogg : $(OGG_LIB )
251
258
252
259
$(OGG_LIB ) : $(OGG_TIMESTAMP )
@@ -275,13 +282,13 @@ $(OGG_LIB): $(OGG_TIMESTAMP)
275
282
276
283
clean_ogg :
277
284
$(RM ) -rf ${OGG_DIR}
278
-
285
+
279
286
$(OPENSSL_TIMESTAMP ) : openssl_download
280
287
@LAST_MODIF=$$(find ${OPENSSL_DIR} -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" " ) ; \
281
288
if [ $$ (basename $$ LAST_MODIF) != " timestamp" ] ; then \
282
289
touch ${OPENSSL_TIMESTAMP} ; \
283
290
fi
284
-
291
+
285
292
openssl_download :
286
293
@if [ ! -d ${OPENSSL_DIR} ] ; then \
287
294
echo " openssl sources missing, downloading..." ; \
@@ -292,7 +299,7 @@ openssl_download :
292
299
cd ${OPENSSL_BASEDIR} ; \
293
300
patch -p1 < ../../openssl_arch.patch; \
294
301
fi
295
-
302
+
296
303
openssl : $(OPENSSL_LIB )
297
304
298
305
$(OPENSSL_LIB ) : $(OPENSSL_TIMESTAMP )
@@ -340,7 +347,7 @@ leveldb_download :
340
347
cd ${ROOT} /deps ; \
341
348
git clone ${LEVELDB_URL_GIT} || exit 1; \
342
349
fi
343
-
350
+
344
351
leveldb : $(LEVELDB_LIB )
345
352
346
353
$(LEVELDB_LIB ) : $(LEVELDB_TIMESTAMP )
@@ -374,10 +381,10 @@ $(LEVELDB_LIB): $(LEVELDB_TIMESTAMP)
374
381
else \
375
382
echo " nothing to be done for leveldb" ; \
376
383
fi
377
-
384
+
378
385
clean_leveldb :
379
386
$(RM ) -rf deps/leveldb
380
-
387
+
381
388
$(FREETYPE_TIMESTAMP ) : freetype_download
382
389
@LAST_MODIF=$$(find ${FREETYPE_DIR} -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" " ) ; \
383
390
if [ $$ (basename $$ LAST_MODIF) != " timestamp" ] ; then \
@@ -391,13 +398,13 @@ freetype_download :
391
398
cd deps; \
392
399
git clone ${FREETYPE_URL_GIT} || exit 1; \
393
400
fi
394
-
401
+
395
402
$(IRRLICHT_TIMESTAMP ) : irrlicht_download
396
403
@LAST_MODIF=$$(find ${IRRLICHT_DIR} -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" " ) ; \
397
404
if [ $$ (basename $$ LAST_MODIF) != " timestamp" ] ; then \
398
405
touch ${IRRLICHT_TIMESTAMP} ; \
399
406
fi
400
-
407
+
401
408
freetype : $(FREETYPE_LIB )
402
409
403
410
$(FREETYPE_LIB ) : $(FREETYPE_TIMESTAMP )
@@ -426,7 +433,7 @@ $(FREETYPE_LIB) : $(FREETYPE_TIMESTAMP)
426
433
else \
427
434
echo " nothing to be done for freetype" ; \
428
435
fi
429
-
436
+
430
437
clean_freetype :
431
438
$(RM ) -rf ${FREETYPE_DIR}
432
439
@@ -475,10 +482,10 @@ $(IRRLICHT_LIB): $(IRRLICHT_TIMESTAMP) $(FREETYPE_LIB)
475
482
else \
476
483
echo " nothing to be done for irrlicht" ; \
477
484
fi
478
-
485
+
479
486
clean_irrlicht :
480
487
$(RM ) -rf deps/irrlicht
481
-
488
+
482
489
$(CURL_TIMESTAMP ) : curl_download
483
490
@LAST_MODIF=$$(find ${CURL_DIR} -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" " ) ; \
484
491
if [ $$ (basename $$ LAST_MODIF) != " timestamp" ] ; then \
@@ -535,13 +542,13 @@ $(CURL_LIB): $(CURL_TIMESTAMP) $(OPENSSL_LIB)
535
542
else \
536
543
echo " nothing to be done for curl" ; \
537
544
fi
538
-
545
+
539
546
clean_curl :
540
547
$(RM ) -rf deps/curl-${CURL_VERSION} \
541
548
$(RM ) -f deps/curl
542
-
543
-
544
- curl_binary :
549
+
550
+
551
+ curl_binary :
545
552
@if [ ! -d " deps/curl-${CURL_VERSION_BINARY} " ] ; then \
546
553
echo " curl sources missing, downloading..." ; \
547
554
mkdir -p ${ROOT} /deps; \
@@ -552,14 +559,70 @@ curl_binary:
552
559
rm curl-7.34.0-rtmp-ssh2-ssl-zlib-static-bin-android.tar.gz; \
553
560
fi
554
561
562
+ $(GMP_TIMESTAMP ) : gmp_download
563
+ @LAST_MODIF=$$(find ${GMP_DIR} -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" " ) ; \
564
+ if [ $$ (basename $$ LAST_MODIF) != " timestamp" ] ; then \
565
+ touch ${GMP_TIMESTAMP} ; \
566
+ fi
567
+
568
+ gmp_download :
569
+ @if [ ! -d " ${GMP_DIR} " ] ; then \
570
+ echo " gmp sources missing, downloading..." ; \
571
+ mkdir -p ${ROOT} /deps; \
572
+ cd deps; \
573
+ wget ${GMP_URL_HTTP} || exit 1; \
574
+ tar -xjf gmp-${GMP_VERSION} .tar.bz2 || exit 1; \
575
+ rm gmp-${GMP_VERSION} .tar.bz2; \
576
+ ln -s gmp-${GMP_VERSION} gmp; \
577
+ fi
578
+
579
+ gmp : $(GMP_LIB )
580
+
581
+ $(GMP_LIB ) : $(GMP_TIMESTAMP )
582
+ @REFRESH=0; \
583
+ if [ ! -e ${GMP_TIMESTAMP_INT} ] ; then \
584
+ REFRESH=1; \
585
+ fi ; \
586
+ if [ ! -e ${GMP_LIB} ] ; then \
587
+ REFRESH=1; \
588
+ fi ; \
589
+ if [ ${GMP_TIMESTAMP} -nt ${GMP_TIMESTAMP_INT} ] ; then \
590
+ REFRESH=1; \
591
+ fi ; \
592
+ if [ $$ REFRESH -ne 0 ] ; then \
593
+ mkdir -p ${GMP_DIR} ; \
594
+ export PATH=" $$ {PATH}:${SDKFOLDER} /platform-tools:${ANDROID_NDK} " ; \
595
+ echo " changed timestamp for gmp detected building..." ; \
596
+ cd deps/gmp-${GMP_VERSION} ; \
597
+ export CROSS_PREFIX=${CROSS_PREFIX} ; \
598
+ export TOOLCHAIN=/tmp/ndk-${TARGET_HOST} -gmp; \
599
+ ${ANDROID_NDK} /build/tools/make-standalone-toolchain.sh \
600
+ --toolchain=${TARGET_TOOLCHAIN}${COMPILER_VERSION} \
601
+ --install-dir=$$ {TOOLCHAIN}; \
602
+ export PATH=" $$ {TOOLCHAIN}/bin:$$ {PATH}" ; \
603
+ export CC=${CROSS_PREFIX} gcc; \
604
+ export CXX=${CROSS_PREFIX} g++; \
605
+ ./configure --disable-static --host=${TARGET_HOST} --prefix=/usr; \
606
+ $(MAKE ) install DESTDIR=/${GMP_DIR} || exit 1; \
607
+ touch ${GMP_TIMESTAMP} ; \
608
+ touch ${GMP_TIMESTAMP_INT} ; \
609
+ $(RM ) -rf $$ {TOOLCHAIN}; \
610
+ else \
611
+ echo " nothing to be done for gmp" ; \
612
+ fi
613
+
614
+ clean_gmp :
615
+ $(RM ) -rf deps/gmp-${GMP_VERSION} \
616
+ $(RM ) -f deps/gmp
617
+
555
618
sqlite3_download : deps/${SQLITE3_FOLDER}/sqlite3.c
556
619
557
620
deps/${SQLITE3_FOLDER}/sqlite3.c :
558
621
cd deps; \
559
622
wget ${SQLITE3_URL} ; \
560
623
unzip ${SQLITE3_FOLDER} .zip; \
561
624
ln -s ${SQLITE3_FOLDER} sqlite
562
-
625
+
563
626
clean_sqlite3 :
564
627
cd deps && $(RM ) -rf ${SQLITE3_FOLDER} && $(RM ) -f ${SQLITE3_FOLDER} .zip && \
565
628
$(RM ) -f sqlite
@@ -622,7 +685,7 @@ $(ASSETS_TIMESTAMP) : $(IRRLICHT_LIB)
622
685
if [ ! -e $( ASSETS_TIMESTAMP) ] ; then \
623
686
touch $(ASSETS_TIMESTAMP ) ; \
624
687
fi
625
-
688
+
626
689
assets : $(ASSETS_TIMESTAMP )
627
690
@REFRESH=0; \
628
691
if [ ! -e ${ASSETS_TIMESTAMP} .old ] ; then \
@@ -670,8 +733,8 @@ assets : $(ASSETS_TIMESTAMP)
670
733
671
734
clean_assets :
672
735
@$(RM ) -r assets
673
-
674
- apk : $(PATHCFGFILE ) assets $(IRRLICHT_LIB ) $(CURL_LIB ) $(LEVELDB_TARGET ) \
736
+
737
+ apk : $(PATHCFGFILE ) assets $(IRRLICHT_LIB ) $(CURL_LIB ) $(GMP_LIB ) $( LEVELDB_TARGET ) \
675
738
$(OPENAL_LIB ) $(OGG_LIB ) prep_srcdir $(ROOT ) /jni/src/android_version.h \
676
739
sqlite3_download
677
740
@export NDEBUG=$$ NDEBUG; $(MAKE ) manifest; \
@@ -689,32 +752,32 @@ apk: $(PATHCFGFILE) assets $(IRRLICHT_LIB) $(CURL_LIB) $(LEVELDB_TARGET) \
689
752
echo " ++ Success!" && \
690
753
echo " APK: bin/Minetest-$$ BUILD_TYPE.apk" && \
691
754
echo " You can install it with \` adb install -r bin/Minetest-$$ BUILD_TYPE.apk\` "
692
-
755
+
693
756
prep_srcdir :
694
757
@rm ${ROOT} /jni/src; \
695
758
ln -s ${ROOT} /../../src ${ROOT} /jni/src
696
-
759
+
697
760
clean_apk : manifest
698
761
@export PATH=$$ PATH:${SDKFOLDER} platform-tools:${ANDROID_NDK} ; \
699
762
export ANDROID_HOME=${SDKFOLDER} ; \
700
763
ant clean
701
-
702
- install_debug :
764
+
765
+ install_debug :
703
766
@export PATH=$$ PATH:${SDKFOLDER} platform-tools:${ANDROID_NDK} ; \
704
767
adb install -r ${ROOT} /bin/Minetest-debug.apk
705
-
768
+
706
769
install :
707
770
@export PATH=$$ PATH:${SDKFOLDER} platform-tools:${ANDROID_NDK} ; \
708
771
adb install -r ${ROOT} /bin/Minetest-release.apk
709
-
772
+
710
773
envpaths :
711
774
@echo " export PATH=$$ PATH:${SDKFOLDER} platform-tools:${ANDROID_NDK} " > and_env; \
712
775
echo " export ANDROID_HOME=${SDKFOLDER} " >> and_env;
713
-
714
- clean_all :
776
+
777
+ clean_all :
715
778
@$(MAKE ) clean_apk; \
716
779
$(MAKE ) clean_assets clean_irrlicht clean_leveldb clean_curl clean_openssl \
717
- clean_openal clean_ogg clean_manifest; \
780
+ clean_openal clean_ogg clean_gmp clean_manifest; \
718
781
sleep 1; \
719
782
$(RM ) -r gen libs obj deps bin Debug and_env
720
783
@@ -762,7 +825,7 @@ manifest :
762
825
sed s/# ##BASE_VERSION###/$$BASE_VERSION/g | \
763
826
sed -e " s@###DEBUG_BUILD###@$$ DBG@g" | \
764
827
sed -e " s@###DEBUG_FLAG###@$$ DBG_FLAG@g" > ${ROOT} /AndroidManifest.xml
765
-
828
+
766
829
clean_manifest :
767
830
rm -rf ${ROOT} /AndroidManifest.xml
768
831
0 commit comments