닌텐도 DS용 어플리케이션(홈브루homebrew 라고 한다)을 개발하기 위해서는 devkitPRO와 PAlib을 설치할 필요가 있다.
devkitPRO는 개발한 homebrew를 관련 라이브러리를 이용해 컴파일하는 기능을 하며, PAlib는 보다 개발을 쉽고 빠르게 하기 위한 API를 제공한다. devkitPRO를 설치하면 devkitARM 등과 같이 특정 플랫폼을 위한 컴파일러와 libnds, libmirko 등과 같은 관련 라이브러리들이 설치된다.
물론 devkitPRO와 PAlib 은 충분히 강력하기는 하지만 아직도 계속 개발중인 프로그램인지라 역시 좀 부족한 면이 없지않다. 필요한 API가 없으면 직접 devkitARM과 PAlib 소스를 수정해서 컴파일해야 하는 일도 많다.
일반적인 경우라면 PAlib과 libnds의 라이브러리가 바이너리 상태로 제공되기 때문에 문제가 없지만, 본인은 Microphone 을 이용해서 프로그램을 개발할 일이 있었고 실제 libnds 를 수정해서 컴파일 해야 했다. 그런데 이 작업이 생각만큼 잘 이루어지지 않았다. 각종 삽질 끝에 보니 devkitARM, PAlib, 그리고 libnds 의 버전이 미묘하게 달라서 생기는 문제였다.
혹시라도 NDS homebrew 를 개발하는 분 중에 libnds와 PAlib을 다시 컴파일해야 하는 분들을 위한 짤막한 지침을 제공하도록 하겠다.
<윈도우 환경에 설치>
1. devkitPRO 최신판(updater 1.4.4)을 받아서 모든 패키지를 다 설치한다. 빼고 넣고 하지 말 것.
- 다운로드 : devkit PRO Updater 1.4.4
2. devkitPRO를 설치하면 devkitARM도 함께 설치되는데, 이 때 설치되는 r21 버전은 PAlib와 충돌을 일으킨다. 따라서 r20 버전으로 다운그레이드 시켜주어야 한다. devkitARM r20 을 다운받아서 devkitPRO 디렉토리에 덮어쓴다.
- 다운로드 : devkitARM_r20
3. 이제 PAlib을 설치해야 한다. 버전을 맞추기 위해 PAlib070717 버전을 설치한다. 이 때 PAlib 이 설치되면서 추가적인 소스들이 libnds 폴더에 덮어씌워진다.
- 다운로드 : PAlib070717 Installer
4. libnds를 컴파일 가능하게 만들기 위해 소스를 다운받아야 한다. libnds20070503-src 를 새로 설치한다.
- 다운로드 : libnds20070503-src
5. 콘솔(WInKey+R을 누르고 cmd, 엔터)을 띄운 다음 libnds 가 설치된 디렉토리(c:\devkitPRO\libnds)로 이동하여 make 를 타이핑하여 컴파일하고, 다시 PAlib가 설치된 디렉토리(c:\devkitPRO\PAlib)로 이동하여 build.bat 를 실행하면 PAlib가 컴파일 된다. 이로서 모든 세팅이 완료된다. PAlib template에서 make를 이용하여 컴파일하면 제대로 컴파일 되는 것을 확인할 수 있을 것이다.