Tupfile 1.2 KB

1234567891011121314151617181920212223242526
  1. TOOLS = @(ANDROID)/sdk/build-tools/@(BUILD_TOOLS_VERSION)
  2. GLUE = @(ANDROID)/sdk/ndk-bundle/sources/android/native_app_glue
  3. JAR = @(ANDROID)/sdk/platforms/android-@(API_VERSION)/android.jar
  4. JAVA = org/lovr/mini
  5. VRAPI_LIB = @(VRAPI)/Libs/Android/@(ABI)/Debug
  6. CC = @(ANDROID)/sdk/ndk-bundle/toolchains/llvm/prebuilt/@(HOST_TAG)/bin/clang
  7. CFLAGS += --target=@(TARGET)
  8. CFLAGS += -shared
  9. CFLAGS += -llog
  10. CFLAGS += -landroid
  11. CFLAGS += -lvrapi
  12. CFLAGS += -L$(VRAPI_LIB)
  13. CFLAGS += -I@(VRAPI)/Include
  14. CFLAGS += -I$(GLUE)
  15. : main.c |> $(CC) $(CFLAGS) %f $(GLUE)/android_native_app_glue.c -o %o |> lib/@(ABI)/libapp.so
  16. : $(JAVA)/LoadLibraries.java |> javac -classpath $(JAR) %f |> $(JAVA)/LoadLibraries.class
  17. : $(JAVA)/LoadLibraries.class |> dx --dex --output=%o %f |> classes.dex
  18. : |> cp $(VRAPI_LIB)/libvrapi.so %o |> lib/@(ABI)/libvrapi.so
  19. : AndroidManifest.xml | lib/@(ABI)/lib*.so classes.dex |> aapt package -M %f -I $(JAR) -F %o && aapt add -f %o lib/@(ABI)/* classes.dex |> tmp/app.unaligned.apk
  20. : tmp/app.unaligned.apk |> $(TOOLS)/zipalign -f 4 %f %o |> tmp/app.unsigned.apk
  21. : tmp/app.unsigned.apk |> $(TOOLS)/apksigner sign --ks @(KEYSTORE) --ks-pass @(KEYSTORE_PASS) --out %o %f |> app.apk