X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=Makefile.android;h=f76adc43ed8a7f2d478cb97b6e049c20a3886fbf;hb=6c206da1b97ad86e095d383f4ebd3d8f332ad416;hp=904df4b7d67aaa314824c526b72c4c31144e74cf;hpb=71cf764907df2869a2ac33cbf19aff5710760e23;p=andemo diff --git a/Makefile.android b/Makefile.android index 904df4b..f76adc4 100644 --- a/Makefile.android +++ b/Makefile.android @@ -1,8 +1,8 @@ SDK ?= /usr/lib/android-sdk NDK ?= /usr/lib/android-ndk -CCSYSROOT = $(NDK)/sysroot -ISYS = $(CCSYSROOT)/usr/include/aarch64-linux-android -LDSYSROOT = $(NDK)/platforms/android-23/arch-arm64 +CCSYSROOT = --sysroot=$(NDK)/sysroot +ISYS = --isystem=$(CCSYSROOT)/usr/include/aarch64-linux-android +LDSYSROOT = --sysroot=$(NDK)/platforms/android-23/arch-arm64 PLATFORM_JAR = $(SDK)/platforms/android-23/android.jar TCPATH = $(NDK)/toolchains/llvm/prebuilt/linux-$(shell uname -m)/bin TC = $(TCPATH)/aarch64-linux-android23- @@ -13,14 +13,19 @@ dep = $(src:.c=.d) name = andemo lib_so = lib$(name).so +pkgprefix = com.mutantstargoat +pkg = $(pkgprefix).$(name) +act = android.app.NativeActivity + warn = -pedantic -Wall dbg = -g opt = -O3 -ffast-math -fno-strict-aliasing -incdir = -Isrc +incdir = -Isrc -Ilibs/imago/src +libdir = -Llibs/android CC = $(TC)clang -CFLAGS = --sysroot=$(CCSYSROOT) -isystem=$(ISYS) $(warn) $(dbg) $(opt) $(def) $(incdir) -fPIC -fcommon -MMD -LDFLAGS = --sysroot=$(LDSYSROOT) -lEGL -lGLESv2 +CFLAGS = $(CCSYSROOT) $(ISYS) $(warn) $(dbg) $(opt) $(def) $(incdir) -fPIC -fcommon -MMD +LDFLAGS = $(LDSYSROOT) $(libdir) -landroid -llog -lEGL -lGLESv2 -limago $(name).apk: $(name).aligned.apk keystore.jks apksigner sign --ks keystore.jks --ks-key-alias androidkey --ks-pass pass:android --key-pass pass:android --out $@ $< @@ -32,11 +37,14 @@ $(name).aligned.apk: $(name).unsigned.apk zipalign -f -p 4 $< $@ $(name).unsigned.apk: $(lib_so) AndroidManifest.xml - mkdir -p apkbuild/lib/aarch64 - cp $(lib_so) apkbuild/lib/aarch64 + mkdir -p apkbuild/lib/arm64-v8a + cp $(lib_so) apkbuild/lib/arm64-v8a + mkdir -p apkbuild/assets + cp -r data apkbuild/assets + cp -r sdr apkbuild/assets aapt package -f -v -F $@ -I $(PLATFORM_JAR) -M AndroidManifest.xml apkbuild -$(lib_so): $(obj) +$(lib_so): $(obj) Makefile.android $(CC) -o $@ -shared $(obj) $(LDFLAGS) -include $(dep) @@ -51,3 +59,28 @@ clean: .PHONY: cleandep cleandep: rm -f $(dep) + +.PHONY: libs +libs: + $(MAKE) CC=$(CC) sys=android-arm64 -C libs + +.PHONY: clean-libs +clean-libs: + $(MAKE) sys=android-arm64 -C libs clean + + +.PHONY: install +install: $(name).apk + adb install -r $(name).apk + +.PHONY: uninstall +uninstall: + adb uninstall $(pkg) + +.PHONY: run +run: + adb shell am start -n $(pkg)/$(act) + +.PHONY: stop +stop: + adb shell am force-stop $(pkg)