- Moved mbedTLS directories to Trash/ (mbedtls/, mbedtls-install/, mbedtls-arm64-install/) - Removed obsolete nostr_websocket_mbedtls.c implementation - Updated nostr_websocket/Makefile to use OpenSSL instead of mbedTLS - Updated nostr_websocket/README.md with OpenSSL migration notes - Updated nostr_websocket/EXPORT_GUIDE.md with OpenSSL instructions - All tests pass: crypto tests, static linking verification - Build system fully functional with OpenSSL-only dependencies
72 lines
2.0 KiB
Makefile
72 lines
2.0 KiB
Makefile
# NOSTR WebSocket Library Makefile
|
|
# Production-ready WebSocket implementation for NOSTR protocol
|
|
|
|
CC = gcc
|
|
CFLAGS = -Wall -Wextra -std=c99 -O2
|
|
INCLUDES = -I. -I.. -I../openssl-install/include
|
|
LIBS = -lm -L../openssl-install/lib64 -lssl -lcrypto
|
|
|
|
# Source files
|
|
WEBSOCKET_SOURCES = nostr_websocket_openssl.c ../cjson/cJSON.c
|
|
WEBSOCKET_HEADERS = nostr_websocket_tls.h ../cjson/cJSON.h
|
|
|
|
# Test programs
|
|
TEST_SOURCES = test_5_events_clean.c
|
|
TEST_PROGRAMS = test_5_events_clean
|
|
|
|
# Object files
|
|
WEBSOCKET_OBJECTS = $(WEBSOCKET_SOURCES:.c=.o)
|
|
|
|
.PHONY: all clean test
|
|
|
|
all: $(TEST_PROGRAMS)
|
|
|
|
# Test programs (if test file exists)
|
|
test_5_events_clean: test_5_events_clean.o $(WEBSOCKET_OBJECTS)
|
|
$(CC) -o $@ $^ $(LIBS)
|
|
|
|
# Object file compilation
|
|
%.o: %.c $(WEBSOCKET_HEADERS)
|
|
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@
|
|
|
|
# Test target (if test exists, otherwise use wss_test from tests/)
|
|
test:
|
|
@if [ -f test_5_events_clean ]; then \
|
|
echo "🧪 Running local WebSocket test..."; \
|
|
echo "Press Ctrl-C to stop the test"; \
|
|
./test_5_events_clean; \
|
|
else \
|
|
echo "🧪 Running WebSocket test from tests/ directory..."; \
|
|
cd ../tests && make wss_test && ./wss_test; \
|
|
fi
|
|
|
|
# Clean build artifacts
|
|
clean:
|
|
rm -f *.o $(TEST_PROGRAMS)
|
|
rm -f ../cjson/*.o
|
|
|
|
# Display library info
|
|
info:
|
|
@echo "📚 NOSTR WebSocket Library"
|
|
@echo "=========================="
|
|
@echo "Core files:"
|
|
@echo " - nostr_websocket_tls.h (header)"
|
|
@echo " - nostr_websocket_openssl.c (OpenSSL implementation)"
|
|
@echo " - ../cjson/cJSON.h/c (JSON support)"
|
|
@echo ""
|
|
@echo "Dependencies:"
|
|
@echo " - OpenSSL (SSL/TLS support)"
|
|
@echo " - Standard C libraries"
|
|
@echo ""
|
|
@echo "Usage:"
|
|
@echo " make - Build test programs (if available)"
|
|
@echo " make test - Run WebSocket test"
|
|
@echo " make clean - Clean build artifacts"
|
|
@echo " make info - Show this information"
|
|
@echo ""
|
|
@echo "Note: This library is integrated into the main libnostr_core.a"
|
|
@echo "Use the tests in ../tests/ for comprehensive testing."
|
|
|
|
# Help target
|
|
help: info
|