brickworks/examples/fx_mm2/vst3/Makefile.win32

93 lines
3.6 KiB
Makefile

VST3_SDK_DIR=${ROOT_DIR}/../../../../VST_SDK/vst3sdk
CXX=g++
CXXFLAGS= \
-DRELEASE=1 \
-I${ROOT_DIR} \
-I${ROOT_DIR}/../src \
-I${ROOT_DIR}/../../common/vst3 \
-I${ROOT_DIR}/../../../include \
-I${VST3_SDK_DIR} \
-fPIC \
-O3
LDFLAGS= \
-shared \
-static \
-static-libgcc \
-static-libstdc++ \
-lole32
#ARCH=x86
ARCH=x86_64
#ARCH=arm64ec
#ARCH=arm
#ARCH=arm64
ROOT_DIR=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
SOURCES= \
${ROOT_DIR}/../src/bw_example_fx_mm2.c \
\
${ROOT_DIR}/../../common/vst3/entry.cpp \
${ROOT_DIR}/../../common/vst3/plugin.cpp \
${ROOT_DIR}/../../common/vst3/controller.cpp \
\
${VST3_SDK_DIR}/base/source/fobject.cpp \
${VST3_SDK_DIR}/base/source/baseiids.cpp \
${VST3_SDK_DIR}/base/source/fstreamer.cpp \
${VST3_SDK_DIR}/base/source/fstring.cpp \
${VST3_SDK_DIR}/base/source/fbuffer.cpp \
${VST3_SDK_DIR}/base/source/updatehandler.cpp \
${VST3_SDK_DIR}/base/thread/source/flock.cpp \
${VST3_SDK_DIR}/pluginterfaces/base/coreiids.cpp \
${VST3_SDK_DIR}/pluginterfaces/base/funknown.cpp \
${VST3_SDK_DIR}/pluginterfaces/base/ustring.cpp \
${VST3_SDK_DIR}/pluginterfaces/base/conststringtable.cpp \
${VST3_SDK_DIR}/public.sdk/source/main/dllmain.cpp \
${VST3_SDK_DIR}/public.sdk/source/main/pluginfactory.cpp \
${VST3_SDK_DIR}/public.sdk/source/main/moduleinit.cpp \
${VST3_SDK_DIR}/public.sdk/source/common/commoniids.cpp \
${VST3_SDK_DIR}/public.sdk/source/common/pluginview.cpp \
${VST3_SDK_DIR}/public.sdk/source/vst/vstcomponentbase.cpp \
${VST3_SDK_DIR}/public.sdk/source/vst/vstcomponent.cpp \
${VST3_SDK_DIR}/public.sdk/source/vst/vstaudioeffect.cpp \
${VST3_SDK_DIR}/public.sdk/source/vst/vstinitiids.cpp \
${VST3_SDK_DIR}/public.sdk/source/vst/vstbus.cpp \
${VST3_SDK_DIR}/public.sdk/source/vst/vsteditcontroller.cpp \
${VST3_SDK_DIR}/public.sdk/source/vst/vstparameters.cpp
DLL_DIR=build/bw_example_fx_mm2.vst3/Contents/${ARCH}-win
USER_PREFIX=$(shell echo '${LOCALAPPDATA}' | sed 's:\\:/:g')
all: build/bw_example_fx_mm2.vst3/desktop.ini build/bw_example_fx_mm2.vst3/Plugin.ico build/bw_example_fx_mm2.vst3/Contents/Resources ${DLL_DIR}/bw_example_fx_mm2.vst3
${DLL_DIR}/bw_example_fx_mm2.vst3: ${SOURCES}
mkdir -p ${DLL_DIR}
${CXX} $^ ${CXXFLAGS} ${LDFLAGS} -o $@
build/bw_example_fx_mm2.vst3/desktop.ini: build/bw_example_fx_mm2.vst3 ${ROOT_DIR}/bw_example_fx_mm2.vst3/desktop.ini
cp ${ROOT_DIR}/bw_example_fx_mm2.vst3/desktop.ini build/bw_example_fx_mm2.vst3
build/bw_example_fx_mm2.vst3/Plugin.ico: build/bw_example_fx_mm2.vst3 ${ROOT_DIR}/bw_example_fx_mm2.vst3/Plugin.ico
cp ${ROOT_DIR}/bw_example_fx_mm2.vst3/Plugin.ico build/bw_example_fx_mm2.vst3
build/bw_example_fx_mm2.vst3/Contents/Resources: build/bw_example_fx_mm2.vst3/Contents ${ROOT_DIR}/bw_example_fx_mm2.vst3/Contents/Resources
cp -R ${ROOT_DIR}/bw_example_fx_mm2.vst3/Contents/Resources build/bw_example_fx_mm2.vst3/Contents
build/bw_example_fx_mm2.vst3/Contents: build/bw_example_fx_mm2.vst3
mkdir -p $@
build/bw_example_fx_mm2.vst3:
mkdir -p $@
install-user: all
mkdir -p ${USER_PREFIX}/Programs/Common/VST3
@echo mkdir -p -m 0755 `find build/bw_example_fx_mm2.vst3 -type d | sed s?^build/?${USER_PREFIX}/Programs/Common/VST3/?g`
@mkdir -p -m 0755 `find build/bw_example_fx_mm2.vst3 -type d | sed s?^build/?${USER_PREFIX}/Programs/Common/VST3/?g`
@for f in `find build/bw_example_fx_mm2.vst3 -type f | sed s?^build/??g`; do \
d=`dirname $$f`; \
echo install -m `[ -x build/$$f ] && echo 0755 || echo 0644` build/$$f ${USER_PREFIX}/Programs/Common/VST3/$$d; \
install -m `[ -x build/$$f ] && echo 0755 || echo 0644` build/$$f ${USER_PREFIX}/Programs/Common/VST3/$$d; \
done
clean:
rm -fr build/bw_example_fx_mm2.vst3