brickworks/examples/common/vst3/vst3-win32.mk

49 lines
1.4 KiB
Makefile
Raw Normal View History

ARCH := x86_64
#ARCH := x86
#ARCH := arm64ec
#ARCH := arm
#ARCH := arm64
CXX := g++
CXXFLAGS += \
-fPIC
LDFLAGS += \
-static \
-static-libgcc \
-static-libstdc++ \
-lole32
2023-09-26 06:59:15 +00:00
SOURCES_VST3_SDK += \
public.sdk/source/main/dllmain.cpp
DLL_DIR := ${BUILD_PLUGIN_DIR}/Contents/${ARCH}-win
DLL_FILE := ${DLL_DIR}/${NAME}.vst3
OBJ_DIR := build/obj
OBJ_COMMON := $(addprefix ${OBJ_DIR}/common/, $(SOURCES_COMMON:.cpp=.o))
OBJ_VST3_SDK := $(addprefix ${OBJ_DIR}/vst3/, $(SOURCES_VST3_SDK:.cpp=.o))
EXTRA_RESOURCE_TARGETS += ${BUILD_PLUGIN_DIR}/desktop.ini ${BUILD_PLUGIN_DIR}/Plugin.ico
RESOURCE_TARGETS += ${EXTRA_RESOURCE_TARGETS}
ALL_TARGETS += ${DLL_FILE} ${EXTRA_RESOURCE_TARGETS}
ALL_DIRS += ${DLL_DIR} ${BUILD_PLUGIN_DIR} ${OBJ_DIR} ${OBJ_DIR}/common
2023-01-20 15:16:57 +00:00
INSTALL_USER_PREFIX := $(shell echo '${LOCALAPPDATA}' | sed 's:\\:/:g')/Programs/Common/VST3
CLEAN_RM += ${OBJ_DIR}
${OBJ_DIR}/${NAME}.o: ${ROOT_DIR}/../src/${SOURCE} | ${OBJ_DIR}
${CXX} ${ROOT_DIR}/../src/${SOURCE} ${CXXFLAGS} -Wall -Wextra -Wpedantic -c -o $@
${OBJ_DIR}/common/%.o: ${COMMON_DIR}/%.cpp | ${OBJ_DIR}/common
${CXX} $^ ${CXXFLAGS} -c -o $@
${OBJ_DIR}/vst3/%.o: ${VST3_SDK_DIR}/%.cpp
mkdir -p $(dir $@)
2023-09-26 06:59:15 +00:00
${CXX} $^ ${CXXFLAGS} -include limits -c -o $@
# thank you Steinberg for having to force inclusion on command line...
${DLL_FILE}: ${OBJ_COMMON} ${OBJ_VST3_SDK} ${OBJ_DIR}/${NAME}.o ${SOURCES} | ${DLL_DIR}
${CXX} $^ ${LDFLAGS} -o $@