mirror of
https://github.com/obgm/libcoap.git
synced 2026-11-08 10:32:53 +03:00
Endpoints will be attached to the context object using a new function coap_attach_endpoint(). The sockfd component has been removed from coap_context_t as it is accessible by the endpoint. coap_endpoint_t has a new field 'context' that refers to the context object the respective endpoint has been associated with, or NULL if it is not attached to any context. An endpoint can be attached to at least one context at a time.
162 lines
5.5 KiB
Makefile
162 lines
5.5 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 = . $(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_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
|
|
|
|
## 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_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/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
|
|
|