93 lines
3.6 KiB
Makefile
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
|