This is mostly a matter of library path manipulation. The ".magicrc" file (startup script) can use "addpath" to point to specific locations for each library's cells. The "maglef" paths in the PDK point to views that are abstract, and (hopefully) DRC clean. The mag/ view points to the full layout, and depending on how much the cells use layout practices from commercial tools that are incompatible with magic's database, sometimes the cells cannot be read without generating a bunch of DRC errors. In those cases (mainly the I/O cells and the SRAM core cell), it works best to use the maglef/ abstract views so the design can be seen as DRC clean in magic. Use the "addpath" command to add the paths specifically for each library. Use "load <top_level> -dereference" to make sure that magic picks up cells from the search paths.