Script for building a plugin

I use a bash script to build plugins, that may help a little. It means you can clone the git repo for a plugin, then build and drop the plugin in your Rack/plugins directory with one command.

#!/bin/bash
# MUST set this to your Rack directory
export RACKPLUGINS_DIR=/e/Documents.kent/Rack2/plugins/
# I build plugins in <Rack-Src>/plugins, but if you've
# downloaded the SDK, also need to set RACK_DIR
# export RACK_DIR=<SDK_DIR>
git pull
git submodule update --init --recursive
make -C dep clean
make clean
make -j8 dep \
    && make -j8 dist \
    && cd dist && \
    cp *.vcvplugin ${RACKPLUGINS_DIR}
1 Like

And of course, how I rebuild all my downloaded plugins:

I use a bash script to build plugins, that may help a little. It means you can clone the git repo for a plugin, then build and drop the plugin in your Rack/plugins directory with one command.

#!/bin/bash
# MUST set this to your Rack directory
export RACKPLUGINS_DIR=/e/Documents.kent/Rack2/plugins/
# I build plugins in <Rack-Src>/plugins, but if you've
# downloaded the SDK, also need to set RACK_DIR
# export RACK_DIR=<SDK_DIR>
git pull
git submodule update --init --recursive
make -C dep clean
make clean
make -j8 dep \
    && make -j8 dist \
    && cd dist && \
    cp *.vcvplugin ${RACKPLUGINS_DIR}

And to build all plugins, that script is in plugins and all the checked out source is in plugins.

for x in $(find . -type d)
do
  cd "${x}"
  ../build.sh
done

Doesn’t the plugin.mk makefile in the Rack-SDK allow you to just build and install all the plugins.

I’d know that if I’d read plugin.mk :wink: There’s an install target.

My script does the git submodule --init --recursive and make dep too. For those who aren’t up on Unix shell script programming all those && are conditional, so if at any step of the build process fails, it stops.

Yeah, you’re right, plugin.mk does not do the submodule init.