The name must be *unique* and not contain any spaces.
Note that the build system will automatically add proper prefix and suffix to the corresponding generated file.
Minecraft Forge 1.12.2/1.11.2 is a modding API (Application Programming Interface), which makes it easier to create mods, and also make sure mods are compatible with each other. To do this, the staff of Forge have always updated versions to make mods compatiable with the update of Minecraft.
While the build system implementation that uses them is different, this is an intentional design decision made to allow reuse of 'external' libraries' source code easier for application developers.
Before describing the syntax in details, let's consider the simple "hello JNI" example, i.e.
As such, you should try to minimize the variables you declare there and do not assume that anything is not defined during parsing.
- The file syntax is designed to allow you to group your sources into 'modules'.
This is needed because all build control files are parsed in a single GNU Make execution context where all variables are global.
The LOCAL_MODULE variable must be defined to identify each module you describe in your In this example, the macro function 'my-dir', provided by the build system, is used to return the path of the current directory (i.e. The CLEAR_VARS variable is provided by the build system and points to a special GNU Makefile that will clear many LOCAL_XXX variables for you (e.g.LOCAL_MODULE, LOCAL_SRC_FILES, LOCAL_STATIC_LIBRARIES, etc...), with the exception of LOCAL_PATH.This also means that, when updating to newer releases of the NDK, you should be able to benefit from new toolchain/platform support without having to touch your files.Note that the syntax is *very* close to the one used in files distributed with the full open-source Android platform sources.In other words, a shared library module named 'foo' will generate 'libfoo.so'.