component.mk 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. COMPONENT_DEPENDS := mbedtls openssl
  2. #COMPONENT_ADD_INCLUDEDIRS := ../../../../../../../../../../../../../../../../../../../../$(COMPONENT_BUILD_DIR)/include
  3. COMPONENT_OWNBUILDTARGET := 1
  4. CROSS_PATH1 := $(shell which xtensa-esp32-elf-gcc )
  5. CROSS_PATH := $(shell dirname $(CROSS_PATH1) )/..
  6. # detect MSYS2 environment and set generator flag if found
  7. # also set executable extension to .exe so that tools can be properly found
  8. # and disable bundled zlib
  9. MSYS_VERSION = $(if $(findstring Msys, $(shell uname -o)),$(word 1, $(subst ., ,$(shell uname -r))),0)
  10. ifneq ($(MSYS_VERSION),0)
  11. MSYS_FLAGS = -DLWS_WITH_BUNDLED_ZLIB=0 -DEXECUTABLE_EXT=.exe -G'MSYS Makefiles'
  12. endif
  13. # -DNDEBUG=1 after cflags stops debug etc being built
  14. .PHONY: build
  15. build:
  16. cd $(COMPONENT_BUILD_DIR) ; \
  17. echo "doing lws cmake" ; \
  18. cmake $(COMPONENT_PATH) -DLWS_C_FLAGS="$(CFLAGS) -DNDEBUG=1" \
  19. -DIDF_PATH=$(IDF_PATH) \
  20. -DCROSS_PATH=$(CROSS_PATH) \
  21. -DBUILD_DIR_BASE=$(BUILD_DIR_BASE) \
  22. -DCMAKE_TOOLCHAIN_FILE=$(COMPONENT_PATH)/contrib/cross-esp32.cmake \
  23. -DCMAKE_BUILD_TYPE=RELEASE \
  24. -DLWS_MBEDTLS_INCLUDE_DIRS="${IDF_PATH}/components/openssl/include;${IDF_PATH}/components/mbedtls/mbedtls/include;${IDF_PATH}/components/mbedtls/port/include" \
  25. -DLWS_WITH_STATS=0 \
  26. -DLWS_WITH_HTTP2=1 \
  27. -DLWS_WITH_RANGES=1 \
  28. -DLWS_WITH_ACME=1 \
  29. -DLWS_WITH_ZLIB=1 \
  30. -DLWS_WITH_ZIP_FOPS=1 \
  31. -DZLIB_LIBRARY=$(BUILD_DIR_BASE)/zlib/libzlib.a \
  32. -DZLIB_INCLUDE_DIR=$(COMPONENT_PATH)/../zlib \
  33. -DLWS_WITH_ESP32=1 \
  34. $(MSYS_FLAGS) ; \
  35. make && \
  36. cp ${COMPONENT_BUILD_DIR}/lib/libwebsockets.a ${COMPONENT_BUILD_DIR}/liblibwebsockets.a
  37. clean: myclean
  38. myclean:
  39. rm -rf ./build