labyrinth

annotate android/Makefile @ 3:45b91185b298

android port
author John Tsiombikas <nuclear@member.fsf.org>
date Fri, 01 May 2015 04:36:50 +0300
parents
children c8826e5ebec1
rev   line source
nuclear@3 1 root = ..
nuclear@3 2 include $(root)/proj.mk
nuclear@3 3
nuclear@3 4 # --- android settings ---
nuclear@3 5 android_platform = android-22
nuclear@3 6 name = $(bin)
nuclear@3 7 pkgprefix = com.mutantstargoat
nuclear@3 8 # ------------------------
nuclear@3 9 native_app_glue_dir = $(NDK)/sources/android/native_app_glue
nuclear@3 10
nuclear@3 11 src += $(wildcard $(root)/src/android/*.c) \
nuclear@3 12 $(wildcard $(root)/src/gles/*.c) \
nuclear@3 13 $(native_app_glue_dir)/android_native_app_glue.c
nuclear@3 14
nuclear@3 15 obj = $(src:.c=.o) $(ccsrc:.cc=.o)
nuclear@3 16 lib = libs/armeabi/lib$(name).so
nuclear@3 17 apk-release = bin/$(name).apk
nuclear@3 18 apk-debug = bin/$(name)-debug.apk
nuclear@3 19
nuclear@3 20 pkg = $(pkgprefix).$(name)
nuclear@3 21 act = android.app.NativeActivity
nuclear@3 22
nuclear@3 23 CC = arm-linux-androideabi-gcc
nuclear@3 24 CXX = arm-linux-androideabi-g++
nuclear@3 25
nuclear@3 26 android_usr = $(NDK)/platforms/$(android_platform)/arch-arm/usr
nuclear@3 27 android_inc = -I$(android_usr)/include -I$(native_app_glue_dir)
nuclear@3 28 android_libs = -L$(android_usr)/lib -llog -landroid -lEGL -lGLESv1_CM
nuclear@3 29
nuclear@3 30 CFLAGS = -std=c99 -Wall -g -DAPP_NAME=\"$(name)\" \
nuclear@3 31 $(android_inc) -I$(root)/src/android -I$(root)/src/gles $(incpaths)
nuclear@3 32 LDFLAGS = -Wl,--fix-cortex-a8 $(android_libs) $(libpaths)
nuclear@3 33
nuclear@3 34 .PHONY: debug
nuclear@3 35 debug: $(apk-debug)
nuclear@3 36
nuclear@3 37 .PHONY: release
nuclear@3 38 release: $(apk-release)
nuclear@3 39
nuclear@3 40 $(apk-debug): $(lib) AndroidManifest.xml
nuclear@3 41 ant debug
nuclear@3 42
nuclear@3 43 $(apk-release): $(lib) AndroidManifest.xml
nuclear@3 44 ant release
nuclear@3 45
nuclear@3 46 .PHONY: lib
nuclear@3 47 lib: $(lib)
nuclear@3 48
nuclear@3 49 $(lib): $(obj)
nuclear@3 50 @mkdir -p libs/armeabi
nuclear@3 51 $(CC) -o $@ -shared $(obj) $(LDFLAGS)
nuclear@3 52
nuclear@3 53 .PHONY: clean
nuclear@3 54 clean:
nuclear@3 55 rm -f $(obj) $(lib) $(apk-release) $(apk-debug)
nuclear@3 56
nuclear@3 57 .PHONY: install
nuclear@3 58 install: install-debug
nuclear@3 59
nuclear@3 60 .PHONY: install-debug
nuclear@3 61 install-debug:
nuclear@3 62 adb install -r $(apk-debug)
nuclear@3 63
nuclear@3 64 .PHONY: install-release
nuclear@3 65 install-release:
nuclear@3 66 adb install -r $(apk-release)
nuclear@3 67
nuclear@3 68 .PHONY: run
nuclear@3 69 run:
nuclear@3 70 adb shell am start -n $(pkg)/$(act)
nuclear@3 71
nuclear@3 72 .PHONY: stop
nuclear@3 73 stop:
nuclear@3 74 adb shell am force-stop $(pkg)
nuclear@3 75
nuclear@3 76 .PHONY: update-project
nuclear@3 77 update-project: build.xml
nuclear@3 78 android update project --path . --target $(android_platform)