initial commit
[andemo] / Makefile.android
1 NDK ?= /usr/lib/android-ndk
2 CCSYSROOT = $(NDK)/sysroot
3 ISYS = $(CCSYSROOT)/usr/include/aarch64-linux-android
4 LDSYSROOT = $(NDK)/platforms/anrdoid-21/arch-arm64
5 TCPATH = $(NDK)/toolchains/llvm/prebuilt/linux-$(shell uname -m)/bin
6 TC = $(TCPATH)/aarch64-linux-android21-
7
8 src = $(wildcard src/*.c) $(wildcard src/android/*.c)
9 obj = $(src:.c=.arm64.o)
10 dep = $(src:.c=.d)
11 lib_so = libandemo.so
12
13 CC = $(TC)clang
14 CFLAGS = --sysroot=$(CCSYSROOT) -isystem=$(ISYS) $(warn) $(dbg) $(opt) $(def) $(incdir) -fPIC -fcommon -MMD
15 LDFLAGS = --sysroot=$(LDSYSROOT) -lEGL -lGLESv2
16
17 $(lib_so): $(obj)
18         $(CC) -o $@ -shared $(obj) $(LDFLAGS)
19
20 -include $(dep)
21
22 %.arm64.o: %.c
23         $(CC) -o $@ $(CFLAGS) -c $<
24
25 .PHONY: clean
26 clean:
27         rm -f $(obj) $(lib_so)
28
29 .PHONY: cleandep
30 cleandep:
31         rm -f $(dep)