51 lines
1.5 KiB
Makefile
51 lines
1.5 KiB
Makefile
.PHONY: build build-emscripten emsdk
|
|
PROJECT := plugins
|
|
PLUGIN := basics
|
|
|
|
CMAKE_PARAMS := -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=.. -G Xcode # -DCMAKE_BUILD_TYPE=Release
|
|
|
|
mac-installer: mac-installer-$(PLUGIN)
|
|
|
|
clean:
|
|
rm -rf out
|
|
|
|
build:
|
|
cmake . -B out/build $(CMAKE_PARAMS)
|
|
|
|
release-%: build
|
|
cmake --build out/build --target $* --config Release
|
|
|
|
mac-installer-%: release-%_vst3 release-%_clap emscripten-%_wclap
|
|
../stfx/front-end/clap/mac/make-pkg-installer.sh out/$*.pkg $* uk.co.signalsmith.installer.stfx.$* out/Release/$*
|
|
|
|
####### Emscripten #######
|
|
# based on https://stunlock.gg/posts/emscripten_with_cmake/
|
|
|
|
CURRENT_DIR := $(shell pwd)
|
|
EMSDK ?= $(CURRENT_DIR)/emsdk
|
|
EMSDK_ENV = unset CMAKE_TOOLCHAIN_FILE; EMSDK_QUIET=1 . "$(EMSDK)/emsdk_env.sh";
|
|
|
|
emsdk:
|
|
@ if ! test -d "$(EMSDK)" ;\
|
|
then \
|
|
echo "SDK not found - cloning from Github" ;\
|
|
git clone https://github.com/emscripten-core/emsdk.git "$(EMSDK)" ;\
|
|
cd "$(EMSDK)" && git pull && ./emsdk install latest && ./emsdk activate latest ;\
|
|
$(EMSDK_ENV) emcc --check && python3 --version && cmake --version ;\
|
|
fi
|
|
|
|
build-emscripten: emsdk
|
|
$(EMSDK_ENV) emcmake cmake . -B out/build-emscripten -DCMAKE_RUNTIME_OUTPUT_DIRECTORY=../Release -DCMAKE_BUILD_TYPE=Release
|
|
|
|
emscripten-%: build-emscripten
|
|
$(EMSDK_ENV) cmake --build out/build-emscripten --target $* --config Release
|
|
|
|
####### Dev stuff #######
|
|
|
|
format:
|
|
find source -iname \*.cpp -o -iname \*.h | xargs clang-format -i
|
|
|
|
dev: release-$(PLUGIN)_clap
|
|
/Applications/REAPER.app/Contents/MacOS/REAPER REAPER/$(PLUGIN)/$(PLUGIN).RPP
|
|
|
|
wclap: emscripten-$(PLUGIN)_wclap |