blob: 67b8abb7eda99385910871d929101d1e1b7fe9e0 [file] [log] [blame]
Ben Delarre3db1ce02017-11-11 17:18:59 -08001COMPONENT_DEPENDS := mbedtls openssl
2#COMPONENT_ADD_INCLUDEDIRS := ../../../../../../../../../../../../../../../../../../../../$(COMPONENT_BUILD_DIR)/include
Andy Greenc7c4ae02017-02-18 17:26:40 +08003
Ben Delarre3db1ce02017-11-11 17:18:59 -08004COMPONENT_OWNBUILDTARGET := 1
Andy Greenc7c4ae02017-02-18 17:26:40 +08005
Ben Delarre3db1ce02017-11-11 17:18:59 -08006CROSS_PATH1 := $(shell which xtensa-esp32-elf-gcc )
7CROSS_PATH := $(shell dirname $(CROSS_PATH1) )/..
8
9# detect MSYS2 environment and set generator flag if found
10# also set executable extension to .exe so that tools can be properly found
11# and disable bundled zlib
12MSYS_VERSION = $(if $(findstring Msys, $(shell uname -o)),$(word 1, $(subst ., ,$(shell uname -r))),0)
13ifneq ($(MSYS_VERSION),0)
14 MSYS_FLAGS = -DLWS_WITH_BUNDLED_ZLIB=0 -DEXECUTABLE_EXT=.exe -G'MSYS Makefiles'
15endif
Andy Greenc7c4ae02017-02-18 17:26:40 +080016
Andy Green79d20382017-11-05 14:28:57 +080017# -DNDEBUG=1 after cflags stops debug etc being built
Andy Greenc7c4ae02017-02-18 17:26:40 +080018.PHONY: build
19build:
20 cd $(COMPONENT_BUILD_DIR) ; \
21 echo "doing lws cmake" ; \
Andy Greend58d7492017-11-26 09:22:42 +080022 cmake $(COMPONENT_PATH) -DLWS_C_FLAGS="$(CFLAGS) -DNDEBUG=1" \
Andy Green00ae9092017-03-16 10:46:31 +080023 -DIDF_PATH=$(IDF_PATH) \
Andy Greenc7c4ae02017-02-18 17:26:40 +080024 -DCROSS_PATH=$(CROSS_PATH) \
Andy Greene0572d32017-03-10 14:29:21 +080025 -DBUILD_DIR_BASE=$(BUILD_DIR_BASE) \
Andy Green4f267c52017-09-22 09:46:58 +080026 -DCMAKE_TOOLCHAIN_FILE=$(COMPONENT_PATH)/contrib/cross-esp32.cmake \
Andy Greend58d7492017-11-26 09:22:42 +080027 -DCMAKE_BUILD_TYPE=RELEASE \
negativekelvinbd9c1b72018-06-16 08:53:48 -070028 -DLWS_MBEDTLS_INCLUDE_DIRS="${IDF_PATH}/components/openssl/include;${IDF_PATH}/components/mbedtls/mbedtls/include;${IDF_PATH}/components/mbedtls/port/include" \
Andy Green978605b2017-05-30 09:01:32 +080029 -DLWS_WITH_STATS=0 \
Andy Green904a9c02017-10-13 10:33:02 +080030 -DLWS_WITH_HTTP2=1 \
Andy Green5b74d712017-11-14 11:25:54 +080031 -DLWS_WITH_RANGES=1 \
Ben Delarre3db1ce02017-11-11 17:18:59 -080032 -DLWS_WITH_ACME=1 \
Andy Green5b74d712017-11-14 11:25:54 +080033 -DLWS_WITH_ZLIB=1 \
34 -DLWS_WITH_ZIP_FOPS=1 \
Andy Green00ae9092017-03-16 10:46:31 +080035 -DZLIB_LIBRARY=$(BUILD_DIR_BASE)/zlib/libzlib.a \
36 -DZLIB_INCLUDE_DIR=$(COMPONENT_PATH)/../zlib \
Ben Delarre3db1ce02017-11-11 17:18:59 -080037 -DLWS_WITH_ESP32=1 \
38 $(MSYS_FLAGS) ; \
Andy Green00ae9092017-03-16 10:46:31 +080039 make && \
Andy Greenc7c4ae02017-02-18 17:26:40 +080040 cp ${COMPONENT_BUILD_DIR}/lib/libwebsockets.a ${COMPONENT_BUILD_DIR}/liblibwebsockets.a
41
42clean: myclean
43
44myclean:
45 rm -rf ./build