mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-07-07 20:20:51 +02:00
140 lines
4.7 KiB
Makefile
140 lines
4.7 KiB
Makefile
# ESP8266 Project Makefile for wolfssl_client
|
|
#
|
|
# Copyright (C) 2006-2026 wolfSSL Inc.
|
|
#
|
|
# This file is part of wolfSSL.
|
|
#
|
|
# wolfSSL is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# wolfSSL is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
|
#
|
|
|
|
#
|
|
# This is a project Makefile.
|
|
# It is assumed the directory this Makefile resides in is a
|
|
# project subdirectory containing an entire project.
|
|
#
|
|
# Optional private config headers. Define environment variables
|
|
# to include various default header files that are typically
|
|
# not in a git path, and thus excluded from being checked in.
|
|
#
|
|
# Environment Variable Name | Header file name included
|
|
# ---------------------------------- | ---------------------------------------
|
|
# MY_PRIVATE_CONFIG (files detected / selected in header)
|
|
# USE_MY_PRIVATE_WSL_CONFIG /mnt/c/workspace/my_private_config.h
|
|
# USE_MY_PRIVATE_MAC_CONFIG ~/Documents/my_private_config.h
|
|
# USE_MY_PRIVATE_LINUX_CONFIG ~/workspace/my_private_config.h
|
|
# USE_MY_PRIVATE_WINDOWS_CONFIG /workspace/my_private_config.h
|
|
#
|
|
#
|
|
PROJECT_NAME := wolfssl_client
|
|
|
|
# Optionally include component source when print path (needs work to then properly build)
|
|
#
|
|
# include components/wolfssl/component.mk
|
|
|
|
MY_PRIVATE_CONFIG ?= n
|
|
USE_MY_PRIVATE_WSL_CONFIG ?= n
|
|
USE_MY_PRIVATE_MAC_CONFIG ?= n
|
|
USE_MY_PRIVATE_LINUX_CONFIG ?= n
|
|
USE_MY_PRIVATE_WINDOWS_CONFIG ?= n
|
|
|
|
# Calling shell causes unintuitive error in Windows:
|
|
# OS := $(shell uname -s)
|
|
#
|
|
# But OS, or MY_PRIVATE_CONFIG should already be defined:
|
|
$(info ************* wolfssl_client *************)
|
|
|
|
ifeq ($(MY_PRIVATE_CONFIG),y)
|
|
CFLAGS += -DMY_PRIVATE_CONFIG
|
|
$(info Enabled MY_PRIVATE_CONFIG")
|
|
endif
|
|
|
|
# Check for Windows environment variable: USE_MY_PRIVATE_WINDOWS_CONFIG
|
|
ifeq ($(USE_MY_PRIVATE_WINDOWS_CONFIG),y)
|
|
# This hard coded MY_CONFIG_FILE value must match that in the header file.
|
|
MY_CONFIG_FILE := /workspace/my_private_config.h
|
|
ifeq ($(wildcard $(MY_CONFIG_FILE)),)
|
|
$(info File does not exist: $(MY_CONFIG_FILE))
|
|
else
|
|
CFLAGS += -DUSE_MY_PRIVATE_WINDOWS_CONFIG
|
|
$(info Using private config file for: Windows)
|
|
endif
|
|
endif
|
|
|
|
# Check for WSL environment variable: USE_MY_PRIVATE_WSL_CONFIG
|
|
ifeq ($(USE_MY_PRIVATE_WSL_CONFIG),y)
|
|
# This hard coded MY_CONFIG_FILE value must match that in the header file.
|
|
MY_CONFIG_FILE := /mnt/c/workspace/my_private_config.h
|
|
ifeq ($(wildcard $(MY_CONFIG_FILE)),)
|
|
$(info File does not exist: $(MY_CONFIG_FILE))
|
|
else
|
|
CFLAGS += -DUSE_MY_PRIVATE_WSL_CONFIG
|
|
$(info Using private config file for: WSL)
|
|
endif
|
|
endif
|
|
|
|
# Check for Linux environment variable: USE_MY_PRIVATE_LINUX_CONFIG
|
|
ifeq ($(USE_MY_PRIVATE_LINUX_CONFIG),y)
|
|
# This hard coded MY_CONFIG_FILE value must match that in the header file.
|
|
MY_CONFIG_FILE := ~/workspace/my_private_config.h
|
|
ifeq ($(wildcard $(MY_CONFIG_FILE)),)
|
|
$(info File does not exist: $(MY_CONFIG_FILE))
|
|
else
|
|
CFLAGS += -DUSE_MY_PRIVATE_LINUX_CONFIG
|
|
$(info Using private config file for: Linux)
|
|
endif
|
|
endif
|
|
|
|
# Check for Mac environment variable: USE_MY_PRIVATE_MAC_CONFIG
|
|
ifeq ($(USE_MY_PRIVATE_MAC_CONFIG),y)
|
|
# This hard coded MY_CONFIG_FILE value must match that in the header file.
|
|
MY_CONFIG_FILE := ~/Documents/my_private_config.h
|
|
ifeq ($(wildcard $(MY_CONFIG_FILE)),)
|
|
$(info File does not exist: $(MY_CONFIG_FILE))
|
|
else
|
|
CFLAGS += -DUSE_MY_PRIVATE_MAC_CONFIG
|
|
$(info Using private config file for: Mac)
|
|
endif
|
|
endif
|
|
|
|
ifneq ($(OS),MY_PRIVATE_CONFIG)
|
|
CFLAGS += -DMY_PRIVATE_CONFIG="$(MY_PRIVATE_CONFIG)"
|
|
else
|
|
ifeq ($(OS),Linux)
|
|
CFLAGS += -DOS_LINUX
|
|
endif
|
|
ifeq ($(OS),Windows_NT)
|
|
CFLAGS += -DWOLFSSL_MAKE_SYSTEM_NAME_WINDOWS
|
|
endif
|
|
ifeq ($(OS),Darwin)
|
|
CFLAGS += -DWOLFSSL_MAKE_SYSTEM_NAME_APPLE
|
|
endif
|
|
ifneq (,$(findstring MINGW,$(OS)))
|
|
CFLAGS += -DWOLFSSL_MAKE_SYSTEM_NAME_MINGW
|
|
endif
|
|
ifneq (,$(findstring CYGWIN,$(OS)))
|
|
CFLAGS += -DWOLFSSL_MAKE_SYSTEM_NAME_CYGWIN
|
|
endif
|
|
endif
|
|
|
|
# It is essential that the build process sees the WOLFSSL_USER_SETTINGS
|
|
CFLAGS += -DWOLFSSL_USER_SETTINGS
|
|
|
|
# if directory not available, please disable the line below.
|
|
EXTRA_COMPONENT_DIRS = $(IDF_PATH)/examples/common_components/protocol_examples_common
|
|
|
|
# The Standard Espressif IDF include:
|
|
include $(IDF_PATH)/make/project.mk
|
|
|