aboutsummaryrefslogtreecommitdiff
path: root/templates/android_project/jni/Android.mk
blob: 15a21695d8e3c5014d294826ee86e527487cdb2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#**************************************************************************************************
#
#   raylib for Android
#
#   Game template makefile
#
#   Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com)
#    
#   This software is provided "as-is", without any express or implied warranty. In no event 
#   will the authors be held liable for any damages arising from the use of this software.
#
#   Permission is granted to anyone to use this software for any purpose, including commercial 
#   applications, and to alter it and redistribute it freely, subject to the following restrictions:
#
#     1. The origin of this software must not be misrepresented; you must not claim that you 
#     wrote the original software. If you use this software in a product, an acknowledgment 
#     in the product documentation would be appreciated but is not required.
#
#     2. Altered source versions must be plainly marked as such, and must not be misrepresented
#     as being the original software.
#
#     3. This notice may not be removed or altered from any source distribution.
#
#**************************************************************************************************

# Path of the current directory (i.e. the directory containing the Android.mk file itself)
LOCAL_PATH := $(call my-dir)

# OpenAL module (prebuilt static library)
# NOTE: Shared library brokes the build! Why?
#--------------------------------------------------------------------
include $(CLEAR_VARS)

# Module name
LOCAL_MODULE := openal

# Precompiled lib
LOCAL_SRC_FILES := libs/libopenal.a

# Export headers
LOCAL_EXPORT_C_INCLUDES := include

# Build static library
#include $(PREBUILT_SHARED_LIBRARY)
include $(PREBUILT_STATIC_LIBRARY)
#--------------------------------------------------------------------


# raylib module (prebuilt static library)
#--------------------------------------------------------------------
include $(CLEAR_VARS)

# Module name
LOCAL_MODULE := raylib

# Precompiled lib
LOCAL_SRC_FILES := libs/libraylib.a

# Export headers
LOCAL_EXPORT_C_INCLUDES := include

# Static library dependency
LOCAL_STATIC_LIBRARIES := android_native_app_glue

# Build static library
include $(PREBUILT_STATIC_LIBRARY)
#--------------------------------------------------------------------


# raylib game module (shared library)
#--------------------------------------------------------------------
# Makefile that will clear many LOCAL_XXX variables for you
include $(CLEAR_VARS)

# Module name
LOCAL_MODULE     := raylib_game

# Module source files
LOCAL_SRC_FILES  := basic_game.c

# Required includes paths (.h)
# NOTE: raylib header and openal headers are included using LOCAL_EXPORT_C_INCLUDES
LOCAL_C_INCLUDES := $(LOCAL_PATH) $(LOCAL_PATH)/include

# Required flags for compilation: defines PLATFORM_ANDROID
LOCAL_CFLAGS     := -Wall -std=c99 -DPLATFORM_ANDROID

# Linker required libraries (not many...)
LOCAL_LDLIBS     := -llog -landroid -lEGL -lGLESv2 -lOpenSLES

# Required static library
LOCAL_STATIC_LIBRARIES := android_native_app_glue raylib openal

# Required shared library
# NOTE: It brokes the build, using static library instead
#LOCAL_SHARED_LIBRARIES := openal

# Build the shared library libraylib_game.so
include $(BUILD_SHARED_LIBRARY)

$(call import-module,android/native_app_glue)
#--------------------------------------------------------------------