X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=Makefile.android;h=084906049c6a10db20a7d609fece364207649af9;hb=ab16e737cf21ee1746868e027448d02de00954f7;hp=faaadb8a6911a0ec1aef26665fa51e1cf283e865;hpb=e74cbdf3efc7f1ce704b4fa441d1b34db8dfdd0d;p=andemo diff --git a/Makefile.android b/Makefile.android index faaadb8..0849060 100644 --- a/Makefile.android +++ b/Makefile.android @@ -1,13 +1,13 @@ 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 -PLATFORM_JAR = $(SDK)/platforms/android-23/android.jar +AVER ?= 23 +CCSYSROOT = --sysroot=$(NDK)/sysroot +LDSYSROOT = --sysroot=$(NDK)/platforms/android-$(AVER)/arch-arm64 +PLATFORM_JAR = $(SDK)/platforms/android-$(AVER)/android.jar TCPATH = $(NDK)/toolchains/llvm/prebuilt/linux-$(shell uname -m)/bin -TC = $(TCPATH)/aarch64-linux-android23- +TC = $(TCPATH)/aarch64-linux-android$(AVER)- -src = $(wildcard src/*.c) $(wildcard src/android/*.c) +src = $(wildcard src/*.c) $(wildcard src/scr/*.c) $(wildcard src/android/*.c) obj = $(src:.c=.arm64.o) dep = $(src:.c=.d) name = andemo @@ -20,11 +20,16 @@ act = android.app.NativeActivity warn = -pedantic -Wall dbg = -g opt = -O3 -ffast-math -fno-strict-aliasing -incdir = -Isrc +def = -DGLDEF +incdir = -Isrc -Ilibs -Ilibs/imago/src -Ilibs/treestore +libdir = -Llibs/android + +libs = libs/android/libimago.a libs/android/libtreestore.a libs/android/libanim.a \ + libs/android/libpsys.a CC = $(TC)clang -CFLAGS = --sysroot=$(CCSYSROOT) -isystem=$(ISYS) $(warn) $(dbg) $(opt) $(def) $(incdir) -fPIC -fcommon -MMD -LDFLAGS = --sysroot=$(LDSYSROOT) -landroid -llog -lEGL -lGLESv2 +CFLAGS = $(CCSYSROOT) $(ISYS) $(warn) $(dbg) $(opt) $(def) $(incdir) -fPIC -fcommon -MMD +LDFLAGS = $(LDSYSROOT) $(libdir) -lm -landroid -llog -lEGL -lGLESv2 -limago -lpsys -lanim -ltreestore $(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 $@ $< @@ -35,13 +40,21 @@ keystore.jks: $(name).aligned.apk: $(name).unsigned.apk zipalign -f -p 4 $< $@ -$(name).unsigned.apk: $(lib_so) AndroidManifest.xml +$(name).unsigned.apk: $(lib_so) AndroidManifest.xml $(icons) mkdir -p apkbuild/lib/arm64-v8a cp $(lib_so) apkbuild/lib/arm64-v8a - aapt package -f -v -F $@ -I $(PLATFORM_JAR) -M AndroidManifest.xml apkbuild - -$(lib_so): $(obj) - $(CC) -o $@ -shared $(obj) $(LDFLAGS) + mkdir -p apkbuild/assets/data + cp -r data/* apkbuild/assets/data + cp -r sdr apkbuild/assets + mkdir -p apkbuild/res/drawable-xhdpi apkbuild/res/drawable-hdpi apkbuild/res/drawable-mdpi apkbuild/res/drawable-ldpi + cp data/icon96.png apkbuild/res/drawable-xhdpi/ic_launcher.png + cp data/icon72.png apkbuild/res/drawable-hdpi/ic_launcher.png + cp data/icon48.png apkbuild/res/drawable-mdpi/ic_launcher.png + cp data/icon36.png apkbuild/res/drawable-ldpi/ic_launcher.png + aapt package -f -F $@ -I $(PLATFORM_JAR) -M AndroidManifest.xml -S apkbuild/res apkbuild + +$(lib_so): $(obj) Makefile.android $(libs) + $(CC) -o $@ -shared -Wl,-soname,$(lib_so) $(obj) $(LDFLAGS) -include $(dep) @@ -56,6 +69,15 @@ clean: 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 @@ -71,3 +93,7 @@ run: .PHONY: stop stop: adb shell am force-stop $(pkg) + +.PHONY: logcat +logcat: + adb logcat $(name):V AndroidRuntime:V DEBUG:V '*:S'