# Playdate SDK notes

Playdate should compile with playdate.cross
Check for 'pdc' to see if it's available
If it is, use playdate.cross to compile it and everything else
Do not include main; instead, actors should receive messages from the playdate SDK
pdc is used to bundle the compiled game's assets; playdate filesystem only can access files inside that bundle

Simulator dylib is lpatform specific, bundled only to allow it to load into the simulator; doesn't ship to playdate
pdex uses flags from playdate.cross

Example with meson:
pdx = custom_target('pdx bundle',
  output: 'GameOfLife.pdx',
  command: [join_paths(env['PLAYDATE_SDK_PATH'], 'bin', 'pdc'), 'Source', '@OUTPUT@'],
  input: [elf, sim_dylib])


sim_dylib = custom_target('simulator dylib',
  output: 'pdex.dylib',
  command: ['clang', '-dynamiclib', '-DTARGET_SIMULATOR=1', '-o', '@OUTPUT@', 'main.c', 'setup.c'],
  build_by_default: true)

elf = executable('pdex', ['main.c', 'setup.c'],
  install: false,
  c_args: device_c_args,
  link_args: device_link_args)
