Advertisement
Guest User

Untitled

a guest
Oct 24th, 2016
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.33 KB | None | 0 0
  1.  
  2. ifeq ($(NDK),)
  3. $(error Must export NDK location before building for Android)
  4. endif
  5. NDK_ROOT:=$(NDK)
  6. #NDK_LOG:=1
  7. include $(NDK)/build/core/init.mk
  8.  
  9. TOOLCHAIN_DIR:=$(foreach chain, $(NDK_ALL_TOOLCHAINS), $(if $(findstring x86_64, $(chain)), $(chain), ))
  10. # Filter out clang
  11. TEMP_LIST_DIR := $(foreach chain, $(TOOLCHAIN_DIR), $(if $(findstring clang, $(chain)), , $(chain)))
  12. ifdef TEMP_LIST_DIR
  13. TOOLCHAIN_DIR := $(TEMP_LIST_DIR)
  14. endif
  15. # use freshmost compiler
  16. TOOLCHAIN_DIR:=$(lastword $(TOOLCHAIN_DIR))
  17.  
  18. ifeq ($(HOST_TAG64),)
  19. HOST_TAG64:=linux-x86
  20. endif
  21. NDK_TOOLCHAIN_VERSION:=$(shell echo $(TOOLCHAIN_DIR) | awk -F - '{print $$NF;}')
  22.  
  23. CROSS_PLATFORM:=$(NDK)/platforms/android-14/arch-x86_64
  24. CROSS_PREFIX:=$(NDK)/toolchains/$(TOOLCHAIN_DIR)/prebuilt/$(HOST_TAG64)/bin/x86_64-linux-android-
  25.  
  26. CXX:=$(CROSS_PREFIX)g++
  27. CC:=$(CROSS_PREFIX)gcc
  28. AR:=$(CROSS_PREFIX)ar
  29. AS:=$(CROSS_PREFIX)as
  30. LD:=$(CROSS_PREFIX)ld
  31. NM:=$(CROSS_PREFIX)nm
  32. OBJCOPY:=$(CROSS_PREFIX)objcopy
  33. OBJDUMP:=$(CROSS_PREFIX)objdump
  34. RANLIB:=$(CROSS_PREFIX)ranlib
  35. STRIP:=$(CROSS_PREFIX)strip
  36.  
  37. COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DANDROID -DAMD64 -pipe -MMD -fPIC -fmessage-length=0 \
  38. -I$(ROOT)/extern/libtommath --sysroot=$(CROSS_PLATFORM) \
  39. -I$(CROSS_PLATFORM)/usr/include -I$(ROOT)/gen/cross
  40.  
  41. OPTIMIZE_FLAGS=-fno-omit-frame-pointer
  42. WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable
  43.  
  44. PROD_FLAGS=$(COMMON_FLAGS) $(OPTIMIZE_FLAGS)
  45. DEV_FLAGS=$(COMMON_FLAGS) $(WARN_FLAGS)
  46.  
  47. CROSS_CONFIG=android.x86_64
  48.  
  49. LDFLAGS += --sysroot=$(CROSS_PLATFORM) -L$(NDK)/sources/cxx-stl/gnu-libstdc++/$(NDK_TOOLCHAIN_VERSION)/libs/x86_64 \
  50. -L$(NDK)/sources/cxx-stl/gnu-libstdc++/libs/x86_64
  51. DroidLibs := -lm -ldl -lsupc++
  52.  
  53. LINK_LIBS = $(DroidLibs)
  54. STATICLINK_LIBS = $(DroidLibs)
  55. SO_LINK_LIBS = $(DroidLibs)
  56.  
  57. EXE_LINK_OPTIONS= $(LDFLAGS) $(UNDEF_FLAGS) $(LIB_PATH_OPTS) $(LINK_EMPTY_SYMBOLS)
  58. LIB_LINK_OPTIONS= $(LDFLAGS) -shared
  59.  
  60. UNICODE_DIR := $(shell dirname `find /usr/include -name ucnv.h`)
  61. UNICODE_DIR := $(filter %unicode, $(UNICODE_DIR))
  62. UNICODE_DIR := $(firstword $(UNICODE_DIR))
  63. ifndef UNICODE_DIR
  64. $(error ERROR while locating ICU include directory, probably missing ucnv.h)
  65. endif
  66.  
  67. .PHONY: prerequisites
  68. prerequisites: $(ROOT)/gen/cross/unicode
  69.  
  70. $(ROOT)/gen/cross/unicode:
  71. echo $(UNICODE_DIR)
  72. rm -rf $(ROOT)/gen/cross
  73. mkdir $(ROOT)/gen/cross
  74. ln -s $(UNICODE_DIR) cross/unicode
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement