istereo2

annotate android/Makefile @ 25:a9f2d30f7e8e

First hack at implementing banners on android. JNI interface to hide/show ads with the menu remains to be done.
author John Tsiombikas <nuclear@member.fsf.org>
date Mon, 05 Oct 2015 06:00:16 +0300
parents 9d53a4938ce8
children 64ca672a79dc
rev   line source
nuclear@23 1 bin = stereotunnel
nuclear@25 2 title = Stereoscopic Tunnel
nuclear@23 3 root = ..
nuclear@23 4 src = $(wildcard $(root)/src/*.c)
nuclear@23 5 ccsrc = $(wildcard $(root)/src/*.cc)
nuclear@23 6
nuclear@23 7 include $(root)/libs/Makefile
nuclear@23 8
nuclear@23 9 # --- android settings ---
nuclear@23 10 android_platform = android-19
nuclear@23 11 name = $(bin)
nuclear@23 12 pkgprefix = com.mutantstargoat
nuclear@23 13 # ------------------------
nuclear@23 14
nuclear@23 15 src += $(wildcard $(root)/src/android/*.c)
nuclear@24 16 jsrc = $(wildcard $(root)/src/android/*.java)
nuclear@23 17
nuclear@23 18 obj = $(src:.c=.o) $(ccsrc:.cc=.o)
nuclear@23 19 lib = libs/armeabi/lib$(name).so
nuclear@23 20 apk-release = bin/$(name).apk
nuclear@23 21 apk-debug = bin/$(name)-debug.apk
nuclear@23 22
nuclear@23 23 pkg = $(pkgprefix).$(name)
nuclear@24 24 act = $(pkg).MainActivity
nuclear@23 25
nuclear@23 26 CC = arm-linux-androideabi-gcc
nuclear@23 27 CXX = arm-linux-androideabi-g++
nuclear@23 28
nuclear@23 29 android_libs = -lstdc++ -llog -landroid -lEGL -lGLESv2
nuclear@23 30
nuclear@23 31 defs += -DANDROID -DAPP_NAME=\"$(name)\" -DNO_FREETYPE -DHAVE_OPENGL_H
nuclear@23 32 CXXFLAGS = -Wall -g $(defs) -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 \
nuclear@23 33 $(android_inc) -I$(root)/src -I$(root)/src/android $(incdir)
nuclear@23 34 CFLAGS = -std=c99 $(CXXFLAGS)
nuclear@23 35 LDFLAGS = -Wl,--fix-cortex-a8 -Wl,-z,defs $(android_libs) $(libpaths) -lm
nuclear@23 36
nuclear@23 37 .PHONY: debug
nuclear@23 38 debug: $(apk-debug)
nuclear@23 39
nuclear@23 40 .PHONY: release
nuclear@23 41 release: $(apk-release)
nuclear@23 42
nuclear@23 43 $(apk-debug): $(lib) $(jsrc) AndroidManifest.xml assets/data assets/sdr
nuclear@23 44 ant debug
nuclear@23 45
nuclear@23 46 $(apk-release): $(lib) $(jsrc) AndroidManifest.xml assets/data assets/sdr
nuclear@23 47 ant release
nuclear@23 48
nuclear@23 49 assets/data:
nuclear@23 50 mkdir -p assets
nuclear@23 51 cd assets && rm -f data && ln -s ../../data .
nuclear@23 52
nuclear@23 53 assets/sdr:
nuclear@23 54 mkdir -p assets
nuclear@23 55 cd assets && rm -f sdr && ln -s ../../sdr .
nuclear@23 56
nuclear@23 57 .PHONY: lib
nuclear@23 58 lib: $(lib)
nuclear@23 59
nuclear@23 60 $(lib): $(obj)
nuclear@23 61 @mkdir -p libs/armeabi
nuclear@23 62 $(CXX) -o $@ -shared $(obj) $(LDFLAGS)
nuclear@23 63
nuclear@23 64 ant_files = *.xml *.properties proguard-project.txt
nuclear@23 65 ant_dirs = bin libs res obj src gen
nuclear@23 66
nuclear@23 67 .PHONY: clean
nuclear@23 68 clean:
nuclear@23 69 rm -f $(obj) $(lib) $(apk-release) $(apk-debug) $(ant_files)
nuclear@23 70 rm -rf $(ant_dirs)
nuclear@23 71 rm -f assets/data assets/sdr
nuclear@23 72 [ -d assets ] && rmdir assets || true
nuclear@23 73
nuclear@23 74 .PHONY: install
nuclear@23 75 install: install-debug
nuclear@23 76
nuclear@23 77 .PHONY: install-debug
nuclear@23 78 install-debug:
nuclear@23 79 adb install -r $(apk-debug)
nuclear@23 80
nuclear@23 81 .PHONY: install-release
nuclear@23 82 install-release:
nuclear@23 83 adb install -r $(apk-release)
nuclear@23 84
nuclear@23 85 .PHONY: uninstall
nuclear@23 86 uninstall:
nuclear@23 87 adb uninstall $(pkg)
nuclear@23 88
nuclear@23 89 .PHONY: run
nuclear@23 90 run:
nuclear@23 91 adb shell am start -n $(pkg)/$(act)
nuclear@23 92
nuclear@23 93 .PHONY: stop
nuclear@23 94 stop:
nuclear@23 95 adb shell am force-stop $(pkg)
nuclear@23 96
nuclear@23 97 AndroidManifest.xml: manifest.xml.in
nuclear@23 98 android create project -p . -t $(android_platform) -k $(pkg) -a NativeActivity -n $(name)
nuclear@23 99 cat manifest.xml.in | sed 's/$$APPNAME/$(name)/g' | sed 's/$$APPTITLE/$(title)/g' >$@
nuclear@24 100 cd src && rm -f *.java && ln -s ../../src/android/*.java .
nuclear@25 101 $(MAKE) update-project
nuclear@23 102
nuclear@23 103 .PHONY: update-project
nuclear@23 104 update-project: build.xml
nuclear@25 105 android update project -p . -t $(android_platform) --library google-play-services_lib --subprojects
nuclear@23 106
nuclear@23 107 .PHONY: logcat
nuclear@23 108 logcat:
nuclear@25 109 adb logcat $(name):V AndroidRuntime:V DEBUG:V Ads:V '*:S'