This plugins has four parts, namely:

1) loader - loads the user.prx and kernel.prx in to memory and then self-destructs
2) user - user mode patches to the vsh
3) kernel - kernel mode patches to the vsh
4) updater - a simple pbp downloaded by network update that swaps the prx in seplugins

They're all compiled with a single Makefile and embedded inside eachother. However, this Makefile only works correctly with Cygwin or on native Linux. You're going to have to compile each file seperately and do some commands manually if you want to use the MinGW Minimalist PSPSDK.

Because of the embedding all arrays must be alligned to 64 rather than 16 in order to comply with the SCE requirement of sceKernelLoadModuleBuffer. For this reason, it executes the following commands inside the Makefiles:

// 'kernel/Makefile'
sed -i 's#((aligned(16)))#((aligned(64)))#gi' ../loader/kernel.c
sed -i 's#static##gi' ../loader/kernel.c

// 'user/Makefile'
sed -i 's#((aligned(16)))#((aligned(64)))#gi' ../loader/user.c
sed -i 's#static##gi' ../loader/user.c

// 'loader/Makefile'
sed -i 's#static##gi' ../updater/game_categories.c

If this produces errors during compilation, there's a few workarounds. You've got to comment them and then either:
1) Edit it manually and recompile the loader on it's own each time.
2) Swap the bin2c with an edited one which generates 64-alligned arrays in the first place.
3) Use a different command for find/replacement of these lines (I know there's a few ways around).