Skip to content
/ core Public

RetroArch Core Build System

License

Notifications You must be signed in to change notification settings

MustardOS/core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

muOS Core Builder

To build all cores defined in core.json, run:

./build.sh -a

To build specific cores, specify their names as arguments:

./build.sh -c dosbox-pure sameboy

To purge any existing core repositories add the -p switch:

./build.sh -p -c dosbox-pure sameboy

Please Note

  • Before using this build system, run a manual build outside of it to verify that all required commands and variables are correctly configured.
  • This build system assumes you have already configured and initialised a toolchain.

Core Structure

  • source - The repository URL where it the core will clone from
  • branch - The repository branch of the above source
  • directory - Usually the name of the repository but can be anything
  • output - The end file that is compiled for processing
  • make.file - The file which make calls upon
  • make.args - Additional arguments that is used alongside make
  • make.target - A specific target to use with make if required
  • symbols - Set it to 1 if you require debug symbols
  • commands.pre-make - Commands to run before make is run
  • commands.post-make - Commands that are run after successful compilation

The branch and commands sections are completely optional and can be omitted.

Example Core (SameBoy)

{
  "sameboy": {
    "source": "https://github.com/LIJI32/SameBoy",
    "directory": "SameBoy",
    "output": "sameboy_libretro.so",
    "make": {
      "file": "Makefile",
      "args": "",
      "target": ""
    },
    "symbols": 0,
    "commands": {
      "pre-make": [
        "make clean >/dev/null 2>&1",
        "printf '\\n\\t\\tBuilding Boot ROMs\\n'",
        "make bootroms >/dev/null 2>&1",
        "printf '\\n\\t\\tPre-generating Libretro Source\\n'",
        "make libretro >/dev/null 2>&1",
        "cd libretro"
      ],
      "post-make": [
        "cd .."
      ]
    }
  }
}

Additional Notes