memlnaut-nisps/vcv/Makefile

28 lines
965 B
Makefile
Raw Normal View History

RACK_DIR ?= $(HOME)/.local/share/Rack2/Rack-SDK
# Detect the target arch early (defines ARCH_WIN/ARCH_LIN/ARCH_MAC) so we can add
# per-platform link libs before plugin.mk wires the link rule. The OSC bridge
# server (src/osc_server.hpp) uses Winsock2 on Windows; mingw ignores the
# MSVC-only `#pragma comment(lib, "ws2_32.lib")`, so link it explicitly.
include $(RACK_DIR)/arch.mk
ifdef ARCH_WIN
LDFLAGS += -lws2_32
endif
FLAGS += -std=c++20
FLAGS += -I$(RACK_DIR)/include -I$(RACK_DIR)/dep/include
# src/iml.hpp is a THIN adapter over the shared C++ core: it pulls in
# nisps/ml/{mlp,dynamic_storage}.hpp + nisps/core/rng.hpp via relative includes
# (../../nisps/…), so no extra -I for the core is needed here (P6, 2026-07-18).
FLAGS += -Isrc
SOURCES += src/plugin.cpp
SOURCES += src/MEMLNaut.cpp
DISTRIBUTABLES += res
include $(RACK_DIR)/plugin.mk
# Remove SDK's default c++11 to avoid conflicting flags
CXXFLAGS := $(filter-out -std=c++11,$(CXXFLAGS))