| @@ -18,8 +18,6 @@ SOURCES += $(wildcard src/*.cpp src/*/*.cpp) | |||||
| build/src/common.cpp.o: FLAGS += -D_APP_VERSION=$(VERSION) | build/src/common.cpp.o: FLAGS += -D_APP_VERSION=$(VERSION) | ||||
| STANDALONE_SOURCES += adapters/standalone.cpp | |||||
| FLAGS += -fPIC | FLAGS += -fPIC | ||||
| LDFLAGS += -shared | LDFLAGS += -shared | ||||
| @@ -38,10 +36,6 @@ ifdef ARCH_LIN | |||||
| LDFLAGS += dep/lib/libGLEW.a dep/lib/libglfw3.a dep/lib/libjansson.a dep/lib/libcurl.a dep/lib/libssl.a dep/lib/libcrypto.a dep/lib/libarchive.a dep/lib/libzstd.a dep/lib/libspeexdsp.a dep/lib/libsamplerate.a dep/lib/librtmidi.a dep/lib/librtaudio.a | LDFLAGS += dep/lib/libGLEW.a dep/lib/libglfw3.a dep/lib/libjansson.a dep/lib/libcurl.a dep/lib/libssl.a dep/lib/libcrypto.a dep/lib/libarchive.a dep/lib/libzstd.a dep/lib/libspeexdsp.a dep/lib/libsamplerate.a dep/lib/librtmidi.a dep/lib/librtaudio.a | ||||
| LDFLAGS += -Wl,--no-whole-archive | LDFLAGS += -Wl,--no-whole-archive | ||||
| LDFLAGS += -lpthread -lGL -ldl -lX11 -lasound -ljack -lpulse -lpulse-simple | LDFLAGS += -lpthread -lGL -ldl -lX11 -lasound -ljack -lpulse -lpulse-simple | ||||
| STANDALONE_TARGET := Rack | |||||
| STANDALONE_LDFLAGS += -static-libstdc++ -static-libgcc | |||||
| STANDALONE_LDFLAGS += -Wl,-rpath=. | |||||
| endif | endif | ||||
| ifdef ARCH_MAC | ifdef ARCH_MAC | ||||
| @@ -53,11 +47,6 @@ ifdef ARCH_MAC | |||||
| LDFLAGS += -framework SystemConfiguration -framework Cocoa -framework OpenGL -framework IOKit -framework CoreVideo -framework CoreAudio -framework CoreMIDI | LDFLAGS += -framework SystemConfiguration -framework Cocoa -framework OpenGL -framework IOKit -framework CoreVideo -framework CoreAudio -framework CoreMIDI | ||||
| LDFLAGS += -Wl,-all_load | LDFLAGS += -Wl,-all_load | ||||
| LDFLAGS += dep/lib/libGLEW.a dep/lib/libglfw3.a dep/lib/libjansson.a dep/lib/libcurl.a dep/lib/libssl.a dep/lib/libcrypto.a dep/lib/libarchive.a dep/lib/libzstd.a dep/lib/libspeexdsp.a dep/lib/libsamplerate.a dep/lib/librtmidi.a dep/lib/librtaudio.a | LDFLAGS += dep/lib/libGLEW.a dep/lib/libglfw3.a dep/lib/libjansson.a dep/lib/libcurl.a dep/lib/libssl.a dep/lib/libcrypto.a dep/lib/libarchive.a dep/lib/libzstd.a dep/lib/libspeexdsp.a dep/lib/libsamplerate.a dep/lib/librtmidi.a dep/lib/librtaudio.a | ||||
| STANDALONE_TARGET := Rack | |||||
| STANDALONE_LDFLAGS += -stdlib=libc++ | |||||
| # For LuaJIT to work inside plugins | |||||
| STANDALONE_LDFLAGS += -Wl,-pagezero_size,10000 -Wl,-image_base,100000000 | |||||
| endif | endif | ||||
| ifdef ARCH_WIN | ifdef ARCH_WIN | ||||
| @@ -72,23 +61,35 @@ ifdef ARCH_WIN | |||||
| LDFLAGS += dep/lib/libglew32.a dep/lib/libglfw3.a dep/lib/libjansson.a dep/lib/libspeexdsp.a dep/lib/libsamplerate.a dep/lib/libarchive_static.a dep/lib/libzstd.a dep/lib/libcurl.a dep/lib/libssl.a dep/lib/libcrypto.a dep/lib/librtaudio.a dep/lib/librtmidi.a | LDFLAGS += dep/lib/libglew32.a dep/lib/libglfw3.a dep/lib/libjansson.a dep/lib/libspeexdsp.a dep/lib/libsamplerate.a dep/lib/libarchive_static.a dep/lib/libzstd.a dep/lib/libcurl.a dep/lib/libssl.a dep/lib/libcrypto.a dep/lib/librtaudio.a dep/lib/librtmidi.a | ||||
| LDFLAGS += -Wl,-Bdynamic -Wl,--no-whole-archive | LDFLAGS += -Wl,-Bdynamic -Wl,--no-whole-archive | ||||
| LDFLAGS += -lpthread -lopengl32 -lgdi32 -lws2_32 -lcomdlg32 -lole32 -ldsound -lwinmm -lksuser -lshlwapi -lmfplat -lmfuuid -lwmcodecdspuuid -ldbghelp -lcrypt32 | LDFLAGS += -lpthread -lopengl32 -lgdi32 -lws2_32 -lcomdlg32 -lole32 -ldsound -lwinmm -lksuser -lshlwapi -lmfplat -lmfuuid -lwmcodecdspuuid -ldbghelp -lcrypt32 | ||||
| STANDALONE_TARGET := Rack.exe | |||||
| STANDALONE_LDFLAGS += -mwindows | |||||
| # 1MiB stack size to match MSVC | |||||
| STANDALONE_LDFLAGS += -Wl,--stack,0x100000 | |||||
| STANDALONE_OBJECTS += build/Rack.res | |||||
| endif | endif | ||||
| include compile.mk | include compile.mk | ||||
| # Standalone adapter | # Standalone adapter | ||||
| STANDALONE_SOURCES += adapters/standalone.cpp | |||||
| ifdef ARCH_LIN | |||||
| STANDALONE_TARGET := Rack | |||||
| STANDALONE_LDFLAGS += -static-libstdc++ -static-libgcc | |||||
| STANDALONE_LDFLAGS += -Wl,-rpath=. | |||||
| endif | |||||
| ifdef ARCH_MAC | ifdef ARCH_MAC | ||||
| STANDALONE_TARGET := Rack | |||||
| STANDALONE_LDFLAGS += -stdlib=libc++ | |||||
| # For LuaJIT to work inside plugins | |||||
| STANDALONE_LDFLAGS += -Wl,-pagezero_size,10000 -Wl,-image_base,100000000 | |||||
| STANDALONE_LDFLAGS += $(MAC_SDK_FLAGS) | STANDALONE_LDFLAGS += $(MAC_SDK_FLAGS) | ||||
| endif | endif | ||||
| ifdef ARCH_WIN | |||||
| STANDALONE_TARGET := Rack.exe | |||||
| STANDALONE_LDFLAGS += -mwindows | |||||
| # 1MiB stack size to match MSVC | |||||
| STANDALONE_LDFLAGS += -Wl,--stack,0x100000 | |||||
| STANDALONE_OBJECTS += build/Rack.res | |||||
| endif | |||||
| STANDALONE_OBJECTS += $(TARGET) | STANDALONE_OBJECTS += $(TARGET) | ||||
| -include $(STANDALONE_DEPENDENCIES) | |||||
| $(STANDALONE_TARGET): $(STANDALONE_SOURCES) $(STANDALONE_OBJECTS) | $(STANDALONE_TARGET): $(STANDALONE_SOURCES) $(STANDALONE_OBJECTS) | ||||
| $(CXX) $(CXXFLAGS) -o $@ $^ $(STANDALONE_LDFLAGS) | $(CXX) $(CXXFLAGS) -o $@ $^ $(STANDALONE_LDFLAGS) | ||||