ソースコードからビルドする際の手順について
とりあえずは @おやじん さんしかご用命はありませんが、まとめて記録を残しておきます。
- CMakeLists.txt の編集
cmake のコンパイルのための設定をする必要があります。
set(CMAKE_C_FLAGS "-std=gnu99 -Wall -mcpu=cortex-a72 -march=armv8-a+crc -mtune=cortex-a72 -fuse-ld=gold -fno-stack-protector -fno-stack-clash-protection -ffunction-sections -fdata-sections -fno-math-errno -fomit-frame-pointer")
85行目にコンパイルのオプションが記載されています。
-mcpu=cortex-a72
-march=armv8-a+crc
-mtune=cortex-a72
が、RaspberryPi4のための専用チューニングオプションとなりますので、まずはここの記述をまるっと消してみてください。
2)コンパイル方法
make.sh というシェルスクリプトで対応します。
./make.sh release
を実行してみて、正常にコンパイルが通るか確認してみてください。
コンパイルが通って実行ファイルが生成されると、build/ympd.release.out というファイルが生成されます。
これが、 ympd の実行ファイルとなります。
なお、この make.sh には以下の引数があります。
init
Bootstrap や jquery などの共通ライブラリをコンパイラを通して一つのライブラリ(Javascript・CSS)ファイルにまとめる。
(通常は使用しなくて良いです。)
minify
ympd向けのライブラリ(Javascript・CSS)をコンパイラを通してサイズを縮小化する。
+ HTMLファイル他を tar.gzで 圧縮してファイルサイズを縮小させる。
(Javascript・CSSをご自分で開発する場合のみ、実行します。)
debug
デバッグ用にビルドを作成する。
これで生成した ympd は /var/lib/mpd/music 配下に ympd の HTML, CSS, Javascript ファイルを置くことでブラウザによるデバッグが容易となる。
(注意!これを行った場合、minify でコンパイルした結果が当然消去されますので、とりあえずビルドする場合は実行しないこと。)
release
通常リリース用のビルドを作成する。