mirror of
https://github.com/obgm/libcoap.git
synced 2026-11-12 11:40:39 +03:00
coap_keystore.[hc] provides a simple data structure for managing credentials to be used during DTLS handshake. Each coap_context_t has its own keystore object that is independent of the actual DTLS context. Applications can access the keystore during the entire lifetime of the coap context. The existing implementation is not thread-safe.
168 lines
5.7 KiB
Makefile
168 lines
5.7 KiB
Makefile
# Makefile.am for libcoap
|
|
#
|
|
# Copyright (C) 2010-2016 Olaf Bergmann <bergmann@tzi.org>
|
|
# (C) 2015 Carsten Schoenert <c.schoenert@t-online.de>
|
|
#
|
|
# This file is part of the CoAP C library libcoap. Please see README and
|
|
# COPYING for terms of use.
|
|
|
|
## Place generated object files (.o) into the same directory as their source
|
|
## files, in order to avoid collisions when non-recursive make is used.
|
|
AUTOMAKE_OPTIONS = subdir-objects
|
|
|
|
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4
|
|
|
|
## Additional files for the distribution archive
|
|
EXTRA_DIST = \
|
|
CONTRIBUTE \
|
|
TODO \
|
|
$(pkgconfig_DATA).in \
|
|
libcoap-$(LIBCOAP_API_VERSION).map \
|
|
libcoap-$(LIBCOAP_API_VERSION).sym \
|
|
examples/coap_list.h \
|
|
tests/test_options.h \
|
|
tests/test_pdu.h \
|
|
tests/test_error_response.h \
|
|
tests/test_sendqueue.h \
|
|
tests/test_uri.h \
|
|
tests/test_wellknown.h
|
|
|
|
AM_CFLAGS = -I @top_builddir@/include/coap/ $(WARNING_CFLAGS) -std=c99
|
|
|
|
SUBDIRS = $(subdirs) . $(DOC_DIR) tests examples
|
|
|
|
## Define a libtool archive target "libcoap-@LIBCOAP_API_VERSION@.la", with
|
|
## @LIBCOAP_API_VERSION@ substituted into the generated Makefile at configure
|
|
## time.
|
|
## The libtool archive file (.la) will be installed into the directory named
|
|
## by the predefined variable $(bindir), along with the actual shared library
|
|
## file (.so).
|
|
lib_LTLIBRARIES = libcoap-@LIBCOAP_API_VERSION@.la
|
|
|
|
libcoap_@LIBCOAP_API_VERSION@_la_CFLAGS = \
|
|
-fPIC \
|
|
-fPIE \
|
|
$(AM_CFLAGS)
|
|
|
|
## Platform-specific sources are located in platform_src
|
|
platform_src = src/platform/@PLATFORM@
|
|
|
|
## Define the source file list for the "libcoap.la" target.
|
|
## Note that it is not necessary to list header files which are already listed
|
|
## elsewhere in a _HEADERS variable assignment.
|
|
libcoap_@LIBCOAP_API_VERSION@_la_SOURCES = \
|
|
src/address.c \
|
|
src/async.c \
|
|
src/block.c \
|
|
src/coap_dtls.c \
|
|
src/coap_keystore.c \
|
|
src/coap_time.c \
|
|
src/debug.c \
|
|
src/encode.c \
|
|
src/hashkey.c \
|
|
src/mem.c \
|
|
src/net.c \
|
|
src/option.c \
|
|
src/pdu.c \
|
|
src/resource.c \
|
|
src/str.c \
|
|
src/subscribe.c \
|
|
src/uri.c \
|
|
$(platform_src)/coap_io.c \
|
|
$(platform_src)/prng.c \
|
|
$(platform_src)/run.c
|
|
|
|
## Define the list of public header files and their install location.
|
|
## The list defined here will be used within the include/Makefile.am
|
|
## and is only a variable because the content is needed also for the
|
|
## generating of the symbol mapping file.
|
|
libcoap_includedir = $(includedir)/coap/
|
|
libcoap_include_HEADERS = \
|
|
include/coap/address.h \
|
|
include/coap/async.h \
|
|
include/coap/bits.h \
|
|
include/coap/block.h \
|
|
include/coap/coap.h \
|
|
include/coap/coap_dtls.h \
|
|
include/coap/coap_keystore.h \
|
|
include/coap/coap_io.h \
|
|
include/coap/coap_time.h \
|
|
include/coap/debug.h \
|
|
include/coap/encode.h \
|
|
include/coap/hashkey.h \
|
|
include/coap/libcoap.h \
|
|
include/coap/mem.h \
|
|
include/coap/net.h \
|
|
include/coap/option.h \
|
|
include/coap/pdu.h \
|
|
include/coap/prng.h \
|
|
include/coap/resource.h \
|
|
include/coap/run.h \
|
|
include/coap/str.h \
|
|
include/coap/subscribe.h \
|
|
include/coap/uri.h \
|
|
include/coap/uthash.h \
|
|
include/coap/utlist.h
|
|
|
|
# If there is a API change to something $(LIBCOAP_API_VERSION) > 1 the install
|
|
# prefix for the header files has to change to not conflict the older version
|
|
# if the user want's to install both versions. There will be something used like
|
|
# libcoap_include_HEADERS = \
|
|
# include/coap-$(LIBCOAP_API_VERSION)/*
|
|
|
|
|
|
## Instruct libtool to include API version information in the generated shared
|
|
## library file (.so). The library ABI version will later defined in configure.ac,
|
|
## so that all version information is kept in one place.
|
|
libcoap_@LIBCOAP_API_VERSION@_la_LDFLAGS = \
|
|
-version-info $(LT_LIBCOAP_CURRENT):$(LT_LIBCOAP_REVISION):$(LT_LIBCOAP_AGE) \
|
|
@libcoap_SYMBOLS@ \
|
|
-pie
|
|
|
|
CTAGS_IGNORE=-I "coap_packet_extract_pbuf coap_pdu_from_pbuf"
|
|
|
|
.PHONY: update-map-file check_ctags
|
|
|
|
# This helper is called by libcoap-$(LIBCOAP_API_VERSION).{map,sym} to see if
|
|
# configure has detected a usable version of the ctags program and aborts if not.
|
|
check_ctags:
|
|
@if [ "$(CTAGS_PROG)" = "" ]; then \
|
|
echo ;\
|
|
echo "There was no ctags program found by the configure script!" ;\
|
|
echo "ctags is needed for running this target! Please note the warning about the missed ctags program of the configure script." ;\
|
|
echo ;\
|
|
exit 1;\
|
|
fi
|
|
|
|
## Helper target to generate the symbol table needed by libtool.
|
|
## The .map format is used when ld supports linker scripts, otherwise
|
|
## it must fall back to a plain symbol file.
|
|
update-map-file: libcoap-$(LIBCOAP_API_VERSION).map libcoap-$(LIBCOAP_API_VERSION).sym
|
|
|
|
libcoap-$(LIBCOAP_API_VERSION).map: check_ctags $(libcoap_include_HEADERS)
|
|
( echo "VER_$(LIBCOAP_API_VERSION) {" ; \
|
|
echo "global:" ; \
|
|
ctags $(CTAGS_IGNORE) -f - --c-kinds=p $(libcoap_include_HEADERS) | awk '/^coap_/ { print " " $$1 ";" }' | sort ; \
|
|
echo "local:" ; \
|
|
echo " *;" ; \
|
|
echo "};" ) > $@.new
|
|
mv $@.new $@
|
|
|
|
libcoap-$(LIBCOAP_API_VERSION).sym: check_ctags $(libcoap_include_HEADERS)
|
|
( ctags $(CTAGS_IGNORE) -f - --c-kinds=p $(libcoap_include_HEADERS) | awk '/^coap_/ { print $$1 }' | sort ) \
|
|
> $@.new
|
|
mv $@.new $@
|
|
|
|
## Install the generated pkg-config file (.pc) into the expected location for
|
|
## architecture-dependent package configuration information. Occasionally,
|
|
## pkg-config files are also used for architecture-independent data packages,
|
|
## in which case the correct install location would be $(datadir)/pkgconfig.
|
|
pkgconfigdir = $(libdir)/pkgconfig
|
|
pkgconfig_DATA = libcoap-$(LIBCOAP_API_VERSION).pc
|
|
|
|
## Define an independent executable script for inclusion in the distribution
|
|
## archive. However, it will not be installed on an end user's system due to
|
|
## the noinst_ prefix.
|
|
dist_noinst_SCRIPTS = autogen.sh
|
|
|