Some more infrastructure. Maybe other things.
[tripe-android] / Makefile
index 0675cd4..c6a85ba 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -127,18 +127,14 @@ MINAPI                     = 15
 TARGETAPI               = 23
 TOOLVERSION             = 4.9
 
-## Android ABI definitions.
-ANDROID_ABIS           += armeabi
+## Android ABI definitions.  We don't bother with `armeabi-v7a': we'll use
+## fancy CPU features if we detect that they're available at runtime anyway.
+#ANDROID_ABIS          += armeabi
 GNUARCH.armeabi                 = arm-linux-androideabi
 PLATARCH.armeabi        = arm
 CFLAGS.ndk-armeabi      =
 
-ANDROID_ABIS.inhibit   += armeabi-v7a
-GNUARCH.armeabi-v7a     = arm-linux-androideabi
-PLATARCH.armeabi-v7a    = arm
-CFLAGS.ndk-armeabi-v7a  =
-
-ANDROID_ABIS.inhibit   += arm64-v8a
+#ANDROID_ABIS          += arm64-v8a
 GNUARCH.arm64-v8a       = aarch64-linux-android
 PLATARCH.arm64-v8a      = arm64
 MINAPI.arm64-v8a        = 21
@@ -148,7 +144,7 @@ TOOLCHAINDIR.x86     = x86
 GNUARCH.x86             = i686-linux-android
 PLATARCH.x86            = x86
 
-ANDROID_ABIS.inhibit   += x86_64
+#ANDROID_ABIS          += x86_64
 TOOLCHAINDIR.x86_64     = x86_64
 GNUARCH.x86_64          = x86_64-linux-android
 PLATARCH.x86_64                 = x86_64
@@ -159,7 +155,7 @@ FLAVOURS            += $(ANDROID_ABIS)
 ## Build variants.
 VARIANTS               += debug
 AAPTFLAGS.debug                 = --debug-mode \
-       --rename-manifest-package uk.org.distorted.tripe-debug
+       --rename-manifest-package uk.org.distorted.tripe.debug
 KEYSTORE.debug          = debug.keystore
 JARSIGNERFLAGS.debug    = -storepass public -keypass public
 
@@ -179,8 +175,8 @@ ndk-toolchain-bin    = \
 ENV.ndk                         = env PATH=$(call ndk-toolchain-bin,$1):$$PATH
 CC.ndk                  = $(GNUARCH.$1)-gcc
 LD.ndk                  = $(CC.ndk)
-CFLAGS.ndk              = $(CFLAGS) -fPIC -D__ANDROID_API__=$(MINAPI) \
-       $(CFLAGS.ndk-$1) \
+CFLAGS.ndk              = $(CFLAGS) -fPIC $(CFLAGS.ndk-$1) \
+       -D__ANDROID_API__=$(call defaulting,MINAPI.$1,$(MINAPI)) \
        --sysroot=$(call ndk-sysroot,$1) \
        -isystem $(ANDROID_NDKDIR)/sysroot/usr/include \
        -isystem $(ANDROID_NDKDIR)/sysroot/usr/include/$(GNUARCH.$1)
@@ -315,6 +311,7 @@ $(foreach f,$(FLAVOURS),$(foreach e,$(EXTERNALS),clean-$e.$f)): clean-%:
        rm -f $(STAMPDIR)/$*-stamp
        rm -rf $(call ext-stamp-builddir,$*)
 .PHONY: $(foreach f,$(FLAVOURS),$(foreach e,$(EXTERNALS),clean-$e.$f))
+$(foreach e,$(EXTERNALS),clean-$e): clean-%: $(foreach f,$(FLAVOURS),clean-%.$f)
 $(foreach f,$(FLAVOURS),clean-inst.$f): clean-inst.%:
        rm -rf $(call ext-prefix,$*)
 .PHONY: $(foreach f,$(FLAVOURS),clean-inst.$f)
@@ -439,6 +436,7 @@ CLASSES                     += util
 CLASSES                        += sys:util
 CLASSES                        += admin:sys,util
 CLASSES                        += tar:util
+CLASSES                        += dep:util
 CLASSES                        += progress:sys,util
 CLASSES                        += keys:progress,tar,sys,util
 CLASSES                        += terminal:progress,sys,util
@@ -503,7 +501,7 @@ $$(OUTDIR)/pkg/assets/bin/$1/$2: $$$$(call ext-stamps,$$$$(EXTERNALS),$1)
        $$(V_AT)mkdir -p $$(dir $$@)
        $$(call v_tag,CP)cp $$(call ext-prefix,$1)/bin/$2 $$@
 endef
-$(foreach f,$(FLAVOURS), \
+$(foreach f,$(ANDROID_ABIS), \
 $(foreach b,$(BINS), \
        $(eval $(call bin-rule,$f,$b))))
 
@@ -547,6 +545,9 @@ all:: debug
 clean::; rm -f $(CLEANFILES)
 realclean::; rm -f $(REALCLEANFILES)
 
+repl: $(CLASSSTAMPS) $(foreach a,$(APKLIBS),$(OUTDIR)/$a)
+       $(SCALA) -cp $(CLASSDIR) -Djava.lib.path=$(OUTDIR) -Yno-load-impl-class
+
 t:; : $(show)
 .PHONY: t