GPP=g++
GCC=gcc

OUTFILE="../socket.so"

# Use pkg-config for OpenSSL if available, fallback to direct flags
OPENSSL_CFLAGS=$(shell pkg-config --cflags openssl 2>/dev/null)
OPENSSL_LIBS=$(shell pkg-config --libs openssl 2>/dev/null || echo "-lcrypto -lssl")

COMPILE_FLAGS=-c -m32 -O3 -fPIC -w -DLINUX -Wall -I../SDK/amx/ $(OPENSSL_CFLAGS)

all:
	$(GCC) $(COMPILE_FLAGS) ../SDK/amx/*.c
	$(GPP) $(COMPILE_FLAGS) ../SDK/*.cpp
	$(GPP) $(COMPILE_FLAGS) *.cpp
	$(GPP) -m32 -O2 -fshort-wchar -shared -o $(OUTFILE) *.o -lpthread $(OPENSSL_LIBS)
	rm -f *.o