Merge pull request #101 from marshmellow42/master
[legacy-proxmark3.git] / COMPILING.txt
blobc894f0ff04f14f6d9aa7d61e2502140ce50225b6
1 The project compiles on Linux, Mac OS X and Windows (MinGW/MSYS).
3 it requires:
4 - gcc >= 4.4
5 - libpthread
6 - libreadline
7 - libusb
8 - perl
9 - an ARM cross-compiler to compile the firmware
11 and optionally QT for the GUI
14 To compile, just run "make".
16 ===========
17 = Windows =
18 ===========
19 The following is a complete list of packages required to setup the compile environment yourself. Alternatively you can download an archive of the full environment (see below).
21 1 - Install QT SDK for Windows [1]
23 In the following instructions, we'll assume you installed it to C:\QT
25 2 - MSYS-1.0.11 [2]
27 Just follow the installation procedure.
28 When asked if you have MinGW installed and for its path, provide:
29 C:/QT/mingw
31 3 - readline-5.0-1-bin [5]
33 From this archive, copy:
34 bin/* to C:\QT\mingw\bin
35 include/* to C:\QT\mingw\include
36 lib/*.a to C:\QT\mingw\lib
38 4 - libusb-win32-device-bin-0.1.12.2 [6]
40 Be careful here, it is *NOT* working with the filter version!
41 Likewise copy:
42 include/usb.h to C:\QT\mingw\include
43 lib/gcc/libusb.a to C:\QT\mingw\lib
46 5 - Install DevkitPro [5]
48 You'll need it to compile the firmware (ARM) side.
49 You only need devkitARM, nothing more (no extra lib or anything else)
50 Assuming you installed it to C:\devkitpro, make sure you set
51 the DEVKITARM environment variable to /c/devkitPro/devkitARM :
52 export DEVKITARM=/c/devkitPro/devkitARM
53 Also, add its bin to your PATH:
54 export PATH=$PATH:$DEVKITARM/bin
56 6 - Install Strawberry Perl [6]
58 7 - Setup a few variables
60 In your shell from MSYS, make sure you set QTDIR to your QT installation:
61 export QTDIR=/c/QT/qt
62 And add its bin to your path as well:
63 export PATH=$PATH:$QTDIR/bin
65 Download links:
67 [1] http://qt.nokia.com/downloads/sdk-windows-cpp
68 [2] http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe
69 [3] http://sourceforge.net/projects/gnuwin32/files/readline/5.0-1/readline-5.0-1-bin.zip/download
70 [4] http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/0.1.12.2/libusb-win32-device-bin-0.1.12.2.tar.gz/download
71 [5] http://sourceforge.net/projects/devkitpro/files/Automated%20Installer/devkitProUpdater-1.5.0.exe/download
72 [6] http://strawberry-perl.googlecode.com/files/strawberry-perl-5.10.1.1.msi
74 Rather than download and install every one of these packages, a new ProxSpace
75 environment archive file will be made available for download on the project
76 page at http://code.google.com/p/proxmark3/downloads/list
78 Download the ProxSpace environment archive and extract it to C:\
80 ============
81 = Mac OS X =
82 ============
84 macport stuff should do ;)
86 ============
87 =   Linux  =
88 ============
90 1 - Download 
92 A precompiled DevKitARM cross compiler tool chain package can be found at 
93 http://sourceforge.net/projects/devkitpro/files/devkitARM
94 Select the one you need (32bit or 64bit) and unpack to a convinient place, eg 
95 $HOME/proxmark3/. It will create a devkitARM/ subdirectory.
97 You will also need a general compiling environment on your computer for
98 the client and the libusb headers. In most distributions you will get all you 
99 need with the lsb-package (Linux Standard Base). In debian/ubuntu you simply 
100 call `aptitude install lsb libusb-dev libreadline-dev libreadline6`. 
102 For the graphical plot view, you might need the qtlibs (debian/ubuntu: 
103 libqt4-dev), too.
105 2 - Set Environment
107 export DEVKITPRO=$HOME/proxmark3/
108 export DEVKITARM=$DEVKITPRO/devkitARM
109 export PATH=${PATH}:${DEVKITARM}/bin