diff --git a/README.md b/README.md index 3424a21d22..df93c9f961 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ PPSSPP - a fast and portable PSP emulator ========================================= + Written by Henrik RydgÄrd Released under the GPL 2.0 in November 2012 @@ -7,44 +8,86 @@ Released under the GPL 2.0 in November 2012 Official website: http://www.ppsspp.org/ -To contribute, see http://www.ppsspp.org/development.html . +To contribute, see [the development page][ppsspp-devel]. -For the latest source code and build instructions, see -http://github.com/hrydgard/ppsspp +For the latest source code and build instructions, see [our github page][ppsspp-repo]. +Basic build instructions +------------------------ -BASIC BUILD INSTRUCTIONS - -(for more detailed instructions, see http://www.ppsspp.org/development.html ) +(for more detailed instructions, see [the development page][ppsspp-devel]) First of all, after having checked out the source, don't forget to run: - git submodule init - git submodule update + git submodule update --init in order to get the "native" library. Now, the actual building: -PPSSPP currently has three build systems, for building -for the following platforms: -* Win32: MSVC -* Android: Android.mk + Eclipse project -* SDL (all other platforms): CMake +PPSSPP currently uses CMake for its build system. In order +to build for most systems, create a `build` directory and +run: -The ports and build files are located in the following three -subdirectories: + cmake path/to/ppsspp + make -* android/ -* SDL/ -* Windows/ +You can specify the -G parameter to cmake to choose a generator. +The `NMake Makefiles`, `Visual Studio 11` (projects + sln), +`GNU Makefiles` and `Unix Makefiles` generators have been tested. -Please see the README in the directory corresponding to the -platform that you want to build for above. +Of course in-tree builds are supported, but that makes cleanup +harder to do; with out-of-tree builds you can just remove the +`build` directory. -Windows is separate from SDL because it has some graphical Win-only features. +Building for Linux/BSD/etc +-------------------------- -Long term, the Windows port should be changed to use WX, like Dolphin. At that point, -the SDL port can probably go away as WX works for all Wintel-like platforms such as -MacOSX and Linux. +Install the libsdl1.2 (SDL 1.2) development headers. This is called +`libsdl1.2-devel` on Debian/Ubuntu, `SDL-devel` on Fedora/RHEL, +`sdl12` on BSD ports. + +Currently the user interface is identical to Android's, operated +with the mouse. A Qt-based interface is planned. + +Building for OSX +---------------- + +Install the Xcode Command Line Tools and, using macports, fink or +homebrew, install the SDL development headers. This is called `sdl` +on homebrew. Just follow the basic build instructions afterwards. + +Currently the user interface is identical to Android's, operated +with the mouse. A Qt-based interface is planned. + +Building for Android +-------------------- + +To build for android, first you must set the ANDROID\_NDK environment +variable to point to the path of your NDK install. This is done on +windows cmd with `set ANDROID_NDK=X:\...`, on bourne shells with +`export ANDROID_NDK=/path/to/ndk`, and on C shells with +`setenv ANDROID_NDK /path/to/ndk`. + +Create a `build-android` directory and inside it run: + + cmake -DCMAKE_TOOLCHAIN_FILE=path/to/ppsspp/android/android.toolchain.cmake path/to/ppsspp + make + +After `make` finishes, it will have created the needed .so files in +path/to/ppsspp/android/libs/armeabi-v7a. You can now use the build.xml +in the android/ dir to build the final executable, or import the android/ +folder as an existing project in Eclipse. + +Note that Eclipse won't notice if you have made changes to the C++ code. +Introduce a meaningless change to a random .java file such as a whitespace +to get Eclipse to rebuild the project. + +Also note that the `Visual Studio` generators aren't compatible with compilers +other than microsoft's, but `NMake Makefiles` works fine. + +[ppsspp-repo]: + "https://github.com/hrydgard/ppsspp" +[ppsspp-devel]: + "http://www.ppsspp.org/development.html"