xref: /OK3568_Linux_fs/buildroot/package/azure-iot-sdk-c/azure-iot-sdk-c.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# azure-iot-sdk-c
4#
5################################################################################
6
7AZURE_IOT_SDK_C_VERSION = LTS_01_2021_Ref01
8AZURE_IOT_SDK_C_SITE = https://github.com/Azure/azure-iot-sdk-c
9AZURE_IOT_SDK_C_SITE_METHOD = git
10AZURE_IOT_SDK_C_GIT_SUBMODULES = YES
11AZURE_IOT_SDK_C_LICENSE = MIT
12AZURE_IOT_SDK_C_LICENSE_FILES = LICENSE
13AZURE_IOT_SDK_C_INSTALL_STAGING = YES
14AZURE_IOT_SDK_C_DEPENDENCIES = libxml2 openssl libcurl util-linux
15AZURE_IOT_SDK_C_CONF_OPTS = -Dskip_samples=ON
16
17# The project only supports building one kind of library.
18# Further the install target installs the wrong files, so we do it here:
19ifeq ($(BR2_STATIC_LIBS),y)
20AZURE_IOT_SDK_C_LIBS += \
21	uamqp/libuamqp.a \
22	c-utility/libaziotsharedutil.a \
23	iothub_client/libiothub_client.a \
24	iothub_client/libiothub_client_mqtt_ws_transport.a \
25	iothub_client/libiothub_client_amqp_ws_transport.a \
26	iothub_client/libiothub_client_http_transport.a \
27	iothub_client/libiothub_client_amqp_transport.a \
28	iothub_client/libiothub_client_mqtt_transport.a \
29	iothub_service_client/libiothub_service_client.a \
30	serializer/libserializer.a \
31	umqtt/libumqtt.a \
32	deps/uhttp/libuhttp.a \
33	deps/umock-c/libumock_c.a \
34	libparson.a
35else
36AZURE_IOT_SDK_C_LIBS += \
37	uamqp/libuamqp.so \
38	c-utility/libaziotsharedutil.so \
39	iothub_client/libiothub_client.so \
40	iothub_client/libiothub_client_mqtt_ws_transport.so \
41	iothub_client/libiothub_client_amqp_ws_transport.so \
42	iothub_client/libiothub_client_http_transport.so \
43	iothub_client/libiothub_client_amqp_transport.so \
44	iothub_client/libiothub_client_mqtt_transport.so \
45	iothub_service_client/libiothub_service_client.so \
46	serializer/libserializer.so \
47	umqtt/libumqtt.so.1.1.12 \
48	deps/uhttp/libuhttp.so \
49	deps/umock-c/libumock_c.so \
50	libparson.so
51
52define AZURE_IOT_SDK_C_CREATE_SYMLINKS
53	ln -sf libumqtt.so.1.1.12 $(1)/usr/lib/libumqtt.so.1
54	ln -sf libumqtt.so.1.1.12 $(1)/usr/lib/libumqtt.so
55endef
56endif
57
58define AZURE_IOT_SDK_C_INSTALL_LIBS
59	$(foreach l,$(AZURE_IOT_SDK_C_LIBS), \
60		$(INSTALL) -D -m 0755 $(@D)/$(l) $(1)/usr/lib/$(notdir $(l))
61	)
62	$(call AZURE_IOT_SDK_C_CREATE_SYMLINKS,$(1))
63endef
64
65define AZURE_IOT_SDK_C_INSTALL_STAGING_CMDS
66	$(call AZURE_IOT_SDK_C_INSTALL_LIBS,$(STAGING_DIR))
67	cp -a $(@D)/c-utility/inc/* $(STAGING_DIR)/usr/include/
68	cp -a $(@D)/iothub_client/inc/* $(STAGING_DIR)/usr/include/
69endef
70
71define AZURE_IOT_SDK_C_INSTALL_TARGET_CMDS
72	$(call AZURE_IOT_SDK_C_INSTALL_LIBS,$(TARGET_DIR))
73endef
74
75$(eval $(cmake-package))
76