Alternative Build Commands - SynoCommunity/spksrc GitHub Wiki

Alternative Build Commands

The basic

Let's start with building the Transmission package from start to finish:

git clone https://github.com/SynoCommunity/spksrc.git
cd spksrc/
make setup
cd spk/transmission
make arch-88f6281

Abbreviated Host/Local Build

There are generated targets for every SPK, making the following equivalent to the Basic Build:

git clone https://github.com/SynoCommunity/spksrc.git
make -C spksrc spk-transmission-88f6281-6.1
  • spk-transmission-88f6281-6.1 - targets are generated at Makefile parse for spk-(all spks)-(all-archs)-(all DSMs)

The following commands are equivalent

    make -C spksrc spk-transmission-88f6281-6.1
    make -C spksrc/spk/transmission arch-88f6281-6.1
    make -C spksrc/spk/transmission ARCH=88f6281 TCVERSION=6.1
    cd spksrc/spk/transmission && make arch-88f6281-6.1

Default Toolchain Version

make setup (in the spksrc-folder) creates the file spksrc/local.mk with DEFAULT_TC=6.1 (currently).

Subsequent calls of make without a toolchain version will use this default, as shown in the Basic Build above.

To set a different default toolchain version call: make dsm-5.2 or use another valid toolchain version.

Docker Build

git clone https://github.com/SynoCommunity/spksrc.git
docker run -it --rm -v $(pwd)/spksrc:/spksrc -w /spksrc \
    synocommunity/spksrc:latest /bin/bash -c 'make spk-transmission-88f6281-6.1'
  • synocommunity/spksrc:latest - A build image is maintained on hub.docker.com

As above, the resulting packages are spooled up to spksrc/packages/. Note that he docker build will discard the container, but the build occurs in the local filesystem, so changes persist. In in doubt, make clean && make spk-transmission-88f6281-6.1