Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 1 | # Sources and objects |
Tristan Matthews | ccf51e3 | 2013-07-18 14:40:51 -0400 | [diff] [blame] | 2 | |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 3 | export ANDROID_HOME=$(ANDROID_SDK) |
Tristan Matthews | 5bb1b5d | 2013-07-18 14:32:58 -0400 | [diff] [blame] | 4 | |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 5 | ARCH = $(ANDROID_ABI) |
Tristan Matthews | 322b9fd | 2013-07-18 15:55:43 -0400 | [diff] [blame] | 6 | |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 7 | SRC=ring-android |
Adrien Béraud | 7f97ca9 | 2015-06-07 15:36:06 -0400 | [diff] [blame^] | 8 | LIBRINGJNI_H=ring-daemon/src/dring/dring.h |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 9 | LIBRINGJNI=$(SRC)/obj/local/$(ARCH)/libring.so |
Alexandre Lision | ec1f3ee | 2014-08-04 19:12:42 -0400 | [diff] [blame] | 10 | |
Adrien Béraud | 87d878d | 2015-06-03 15:09:19 -0400 | [diff] [blame] | 11 | JAVA_SOURCES=$(shell find $(SRC)/src/cx/ring/ -type f -name "*.java") |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 12 | |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 13 | ifneq ($(V),) |
| 14 | ANT_OPTS += -v |
| 15 | VERBOSE = |
| 16 | GEN = |
| 17 | else |
| 18 | VERBOSE = @ |
| 19 | GEN = @echo "Generating" $@; |
| 20 | endif |
| 21 | |
| 22 | ifeq ($(RELEASE),1) |
| 23 | ANT_TARGET = release |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 24 | RING_APK=$(SRC)/bin/Ring-release-unsigned.apk |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 25 | NDK_DEBUG=0 |
| 26 | else |
| 27 | ANT_TARGET = debug |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 28 | RING_APK=$(SRC)/bin/Ring-debug.apk |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 29 | NDK_DEBUG=1 |
| 30 | endif |
| 31 | |
Alexandre Lision | 7d5df5d | 2014-10-27 13:10:01 -0400 | [diff] [blame] | 32 | define build_apk |
| 33 | @echo |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 34 | @echo "=== Building $(RING_APK) for $(ARCH) ===" |
Alexandre Lision | 7d5df5d | 2014-10-27 13:10:01 -0400 | [diff] [blame] | 35 | @echo |
| 36 | date +"%Y-%m-%d" > $(SRC)/assets/builddate.txt |
| 37 | echo `id -u -n`@`hostname` > $(SRC)/assets/builder.txt |
| 38 | git rev-parse --short HEAD > $(SRC)/assets/revision.txt |
| 39 | ./gen-env.sh $(SRC) |
| 40 | $(VERBOSE)cd $(SRC) && ant $(ANT_OPTS) $(ANT_TARGET) |
| 41 | endef |
| 42 | |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 43 | $(RING_APK): $(LIBRINGJNI) $(JAVA_SOURCES) |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 44 | @echo |
| 45 | @echo "=== Building $@ for $(ARCH) ===" |
| 46 | @echo |
| 47 | date +"%Y-%m-%d" > $(SRC)/assets/builddate.txt |
| 48 | echo `id -u -n`@`hostname` > $(SRC)/assets/builder.txt |
| 49 | git rev-parse --short HEAD > $(SRC)/assets/revision.txt |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 50 | $(VERBOSE)cd $(SRC) && ant $(ANT_OPTS) $(ANT_TARGET) |
| 51 | |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 52 | $(LIBRINGJNI): $(LIBRINGJNI_H) |
| 53 | @if [ -z "$(RING_BUILD_DIR)" ]; then echo "RING_BUILD_DIR not defined" ; exit 1; fi |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 54 | @if [ -z "$(ANDROID_NDK)" ]; then echo "ANDROID_NDK not defined" ; exit 1; fi |
| 55 | @echo |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 56 | @echo "=== Building libringjni ===" |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 57 | @echo |
Adrien Béraud | 7f97ca9 | 2015-06-07 15:36:06 -0400 | [diff] [blame^] | 58 | $(VERBOSE)if [ -z "$(RING_SRC_DIR)" ] ; then RING_SRC_DIR=./ring-daemon; fi ; \ |
Adrien Béraud | 87d878d | 2015-06-03 15:09:19 -0400 | [diff] [blame] | 59 | if [ -z "$(RING_CONTRIB)" ] ; then RING_CONTRIB="$$RING_SRC_DIR/contrib/$(TARGET_TUPLE)"; fi ; \ |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 60 | if [ `echo "$(RING_BUILD_DIR)" | head -c 1` != "/" ] ; then \ |
| 61 | RING_BUILD_DIR="../$(RING_BUILD_DIR)"; \ |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 62 | fi ; \ |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 63 | [ `echo "$$RING_CONTRIB" | head -c 1` != "/" ] && RING_CONTRIB="../$$RING_CONTRIB"; \ |
| 64 | [ `echo "$$RING_SRC_DIR" | head -c 1` != "/" ] && RING_SRC_DIR="../$$RING_SRC_DIR"; \ |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 65 | $(ANDROID_NDK)/ndk-build -C $(SRC) \ |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 66 | RING_SRC_DIR="$$RING_SRC_DIR" \ |
| 67 | RING_CONTRIB="$$RING_CONTRIB" \ |
| 68 | RING_BUILD_DIR="$$RING_BUILD_DIR" \ |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 69 | NDK_DEBUG=$(NDK_DEBUG) \ |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 70 | TARGET_CFLAGS="$$RING_EXTRA_CFLAGS" |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 71 | |
Alexandre Lision | 7d5df5d | 2014-10-27 13:10:01 -0400 | [diff] [blame] | 72 | apk: |
| 73 | $(call build_apk) |
| 74 | |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 75 | apkclean: |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 76 | rm -f $(RING_APK) |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 77 | |
| 78 | lightclean: |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 79 | cd $(SRC) && rm -rf libs/armeabi-v7a libs/x86 libs/mips obj bin $(RING_APK) |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 80 | |
| 81 | clean: lightclean |
Tristan Matthews | 1b5d132 | 2014-09-29 17:29:16 -0400 | [diff] [blame] | 82 | rm -rf $(SRC)/gen java-libs/*/gen java-libs/*/bin .sdk |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 83 | |
| 84 | jniclean: lightclean |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 85 | rm -f $(LIBRINGJNI) |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 86 | |
| 87 | distclean: clean jniclean |
| 88 | |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 89 | install: $(RING_APK) |
Adrien Béraud | 87d878d | 2015-06-03 15:09:19 -0400 | [diff] [blame] | 90 | @echo "=== Installing Ring on device ===" |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 91 | adb wait-for-device |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 92 | adb install -r $(RING_APK) |
Tristan Matthews | 5bb1b5d | 2013-07-18 14:32:58 -0400 | [diff] [blame] | 93 | |
Tristan Matthews | fdd94e5 | 2013-07-19 16:44:44 -0400 | [diff] [blame] | 94 | uninstall: |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 95 | adb wait-for-device |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 96 | adb uninstall cx.ring |
Tristan Matthews | fdd94e5 | 2013-07-19 16:44:44 -0400 | [diff] [blame] | 97 | |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 98 | run: |
Adrien Béraud | 87d878d | 2015-06-03 15:09:19 -0400 | [diff] [blame] | 99 | @echo "=== Running Ring on device ===" |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 100 | adb wait-for-device |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 101 | adb shell am start -n cx.ring/cx.ring.client.HomeActivity |
Alexandre Lision | 43b9aeb | 2014-07-15 14:21:19 -0400 | [diff] [blame] | 102 | |
| 103 | build-and-run: install run |
| 104 | |
| 105 | apkclean-run: apkclean build-and-run |
| 106 | adb logcat -c |
| 107 | |
| 108 | distclean-run: distclean build-and-run |
| 109 | adb logcat -c |
| 110 | |
| 111 | vlc-sdk.7z: .sdk |
| 112 | 7z a $@ vlc-sdk/ |
| 113 | |
| 114 | .sdk: |
| 115 | mkdir -p vlc-sdk/libs |
| 116 | cd vlc-android; cp -r libs/* ../vlc-sdk/libs |
| 117 | mkdir -p vlc-sdk/src/org/videolan |
| 118 | cp -r vlc-android/src/org/videolan/libvlc vlc-sdk/src/org/videolan |
| 119 | touch $@ |
| 120 | |
| 121 | .PHONY: lightclean clean jniclean distclean distclean-run apkclean apkclean-run install run build-and-run |