26 lines
1.2 KiB
Markdown
26 lines
1.2 KiB
Markdown
|
This directory contains core submodules and Genode-specific build rules. To port
|
||
|
a core to Genode, add a minimal Tupfile to the upsteam repository, add a new
|
||
|
directory containing the upstream Git repository here as submodule, then add a
|
||
|
Tuprules.tup file in the local directory containg Genode build rules.
|
||
|
|
||
|
The upstream `Tupfile` should be as simple as possible. It must mirror the core
|
||
|
*TARGET_NAME* defined in the Libretro makefile, the *CORE_DIR* if defined by
|
||
|
Make as well, and the *include_rules* directive.
|
||
|
|
||
|
```tup
|
||
|
TARGET_NAME=2048
|
||
|
CORE_DIR=$(TUP_CWD)
|
||
|
include_rules
|
||
|
```
|
||
|
|
||
|
The local `Tuprules.tup` file contains the actual build rules. Typically a core
|
||
|
repository contains `Makefile` and `Makefile.common` files, the later containing
|
||
|
a list of sources files relative to a `CORE_DIR` variable, which can usually be
|
||
|
included and parsed by Tup. Note that Tup cannot include files relative to a
|
||
|
variable, `Tuprules.tup` must include `Makefile.common` relative to itself.
|
||
|
Please refer to a `Tuprules.tup` in any of the core directories here as an
|
||
|
example.
|
||
|
|
||
|
Unfortunately not all cores are trivally compatible with Tup, in particular
|
||
|
those with makefiles that wrap a pre-Libretro Make build system.
|