CC := i686-w64-mingw32-gcc
CFLAGS ?= -O2 -g0 -std=gnu11 -Wall -Wextra -Werror -DWIN32_LEAN_AND_MEAN
LDFLAGS ?= -shared -static-libgcc -Wl,--no-insert-timestamp

all: d3d9.dll

NATIVE_CXX ?= g++
NATIVE_PACKAGES := gstreamer-1.0 gstreamer-webrtc-1.0 gstreamer-sdp-1.0 \
	libsoup-3.0 json-glib-1.0 x11 xfixes xtst zlib libzstd
NATIVE_CXXFLAGS ?= -O3 -g0 -std=c++20 -Wall -Wextra -Werror -pthread \
	-DGST_USE_UNSTABLE_API

d3d9.dll: d3d9_proxy.c w3cs_protocol.h d3d9.def
	$(CC) $(CFLAGS) -o $@ d3d9_proxy.c d3d9.def $(LDFLAGS) -lkernel32

w3cs-webrtc-relay: w3cs_webrtc_relay.cpp w3cs_protocol.h
	$(NATIVE_CXX) $(NATIVE_CXXFLAGS) $< -o $@ \
		$$(pkg-config --cflags --libs $(NATIVE_PACKAGES))

clean:
	rm -f d3d9.dll w3cs-webrtc-relay

.PHONY: all clean
