CHDK/Bulgarian/Compiling CHDK under Linux

Това е процедурата, използвана за компилиране на изходния код на CHDK под Linux (актуална към Април 2007).


 * Създайте директория, в която да сложите изходния код на CHDK.

> mkdir ~/chdk && cd ~/chdk


 * Вземете кода на CHDK.

> svn co http://tools.assembla.com/svn/chdk/trunk

или

> svn co http://tools.assembla.com/svn/chdk/grand


 * Или обновете изходния код

> cd grand && svn up


 * Инсталирайте крос-компилатор


 * Вземете изходните кодове на gcc и binutils от хранилище на GNU (repository). За предпочитане е да използвате последните налични версии.


 * Определете място за крос-компилатора във вашия компютър.

> mkdir ~/arm-elf


 * Инструктирайте компютъра, че ще стартирате програми от това място.

> export PATH=${HOME}/arm-elf/bin:$PATH


 * Създайте работна област и компилирайте binutils и gcc.

> mkdir ~/wa > cd ~/wa > tar xvfj ../src/rlx_dist/binutils-2.17.tar.bz2 > tar xvfj ../src/rlx_dist/gcc-4.1.2.tar.bz2

> cd binutils-2.17 > ./configure --srcdir=../binutils-2.17 --target=arm-elf \ --prefix=~/arm-elf > make > make install > cd ..


 * Редактирайте файла , за да включите следните линии, без знака "#" пред тях.

MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork MULTILIB_OPTIONS   += mno-thumb-interwork/mthumb-interwork MULTILIB_DIRNAMES  += normal interwork

> mkdir gcc-4.1.2-arm-elf && cd gcc-4.1.2-arm-elf > ../gcc-4.1.2/configure --srcdir=../gcc-4.1.2 --target=arm-elf --with-cpu=arm9 --disable-libm --disable-libc --disable-threads --disable-nls --disable-libssp --disable-intl --disable-libiberty --enable-languages=c --with-softfloat-supp --with-float=soft --prefix=~/arm-elf > make > make install


 * С това приключва инсталацията на крос-компилатора.


 * Компилиране на CHDK. Влезте в директорията 'trunk' или 'grand'.

> cd ~/chdk/grand


 * Редактирайте файла , за да изберете PLATFORM и PLATFORMSUB за вашата камера: просто махнете знака "#" където е нужно. Освен това, добавете следния ред в началото на файла , за да укажете местонахождението на крос-компилатора за ARM платформа,

PATH := $(HOME)/arm-elf/bin:$(PATH)


 * Вече трябва да сте готови да компилирате всичко.

> make fir


 * PS.FIR трябва да бъде създаден в директорията "bin".


 * Ако искате да компилирате CHDK за друга камера, просто изпълнете командата make с аргументи PLATFORM и PLATFORMSUB. Например:

> make PLATFORM=a620 PLATFORMSUB=100f fir


 * За да компилирате CHDK за всички камери, напишете:

> make batch-zip