Compiling a plugin

I try to compile a plugin according to this instruction: https://vcvrack.com/manual/Building I set the path in makefile to the RACK-SDK and although the path is the right path, I get the message: make: *** No rule to make target ‘C/msys64/home/Berndi/Rack-SDK/plugin.mk’. Stop. “Berndi” is my username in Windows.

What’s wrong With the makefile?

Your RACK_DIR should be a path that’s valid in msys2, C: isn’t valid, even if the missing colon was there, you probably want RACK_DIR set to /home/Berndi/Rack-SDK or ~/Rack-SDK. That’s assuming you’re running make from the msys2 environment, which you should be from the instructions you linked to.

e.g.:

cd ~/the-cloned-plugin
export RACK_DIR=~/Rack-SDK
make
1 Like

Sounds right to me. Just to throw it out there, I don’t put my rack stuff in home. In windows I put it in C:\Rack and put my plugin code in C:\Rack\plugins\SquinkyVCV. Then in msys I do cd /c/Rack/plugins/SquinkyVCV.

Using ~ is certainly a more normal Unix way to do things, and is what I do on Mac and Ubuntu. Probably if I wasn’t so win-centric I would have use ~ in msys also?

1 Like

I don’t understand that. What is a valid path in msys2? Can you give me an example? I tried it with …/{path} but that doesn’work too

I’m assuming you’re running these commands from the msys2 mingw 64-bit shell that the VCV Rack instructions recommend. In that shell the path “C:/” doesn’t exist. To access your C drive you need to use the path /c/.

e.g. If your path in Windows is C:/msys64/home/Berndi/Rack-SDK/ in the msys2 shell it will be /c/msys64/home/Berndi/Rack-SDK/

Have you tried with RACK_DIR set to /home/Berndi/Rack-SDK? You should be able to just cd to the directory of the plugin that you have cloned and run:

make RACK_DIR=/home/Berndi/Rack-SDK
1 Like

I did the following according to VCV - 404

git clone GitHub - wiqid/repelzen: modules for vcv rack cd repelzen git submodule update --init --recursive RACK_DIR=/home/Berndi/Rack-SDK make dep

I get this message make: Nothing to be done for ‘dep’.

WHAT’S WRONG???

“Nothing to be done for ‘dep’” is not an error, it was successful, you just need to continue with the other commands.

git clone https://github.com/wiqid/repelzen.git
cd repelzen
make RACK_DIR=/home/Berndi/Rack-SDK
make RACK_DIR=/home/Berndi/Rack-SDK RACK_USER_DIR=/c/Users/Berndi/Documents/Rack install

The ‘dep’ target builds any dependencies, there are no dependencies for this particular plugin so it completed successfully immediately.

You’ll also notice I didn’t call git submodule update --init --recursive in my commands above, that’s because this module doesn’t have any submodules, you can run it anyway though and it won’t do any harm.

Once you’ve built it I imagine you’ll want to install it into your plugin folder, to do that you need to run make install with RACK_USER_DIR pointing to your Rack installation directory, that’s what the last command does.

1 Like

Thank you, rare.breeds, that works!

2 Likes

If you are like me, it may take you a looooong time before the bash shell makes much sense to. If you use it enough you will probably grow to like it. eventually.