Wirepas SDK
config.mk
Go to the documentation of this file.
1ifeq ($(SHARED_LIBDATA), yes)
2$(error Shared_LibData library as been renamed, please see libraries/shared_libdata.h for an explanation.)
3endif
4
5ifeq ($(SHARED_SHUTDOWN), yes)
6$(error Shared_Shutdown library as been renamed, please use libraries/stack_state.h instead \
7 and enable its usage with STACK_STATE_LIB)
8endif
9
10# Any library needing app_scheduler must increment this variable
11# this way:
12# scheduler_tasks+= + n
13scheduler_tasks=0
14
15# Any library needing stack state callbacks must increment this variable
16# this way:
17# stack_state_cbs+= + n
18stack_state_cbs=0
19
20# Any library needing app_config filter must increment this variable
21# this way:
22# library_app_config_filters+= + n
23app_config_filters=0
24
25# Any library needing shared offline modules must increment this variable
26# this way:
27# shared_offline_modules+= + n
28shared_offline_modules=0
29
30# Any library needing shared neighbors callbacks must increment this variable
31# this way:
32# shared_neighbors_cbs+= + n
33shared_neighbors_cbs=0
34
35ifeq ($(LOCAL_PROVISIONING), yes)
36$(info LOCAL_PROVISIONING automatically enable PROVISIONING and PROVISIONING_PROXY)
37PROVISIONING=yes
38PROVISIONING_PROXY=yes
39scheduler_tasks+= + 1
40app_config_filters+= + 1
41stack_state_cbs+= + 1
42endif
43
44ifeq ($(PROVISIONING), yes)
45scheduler_tasks+= + 3
46stack_state_cbs+= + 1
47SHARED_DATA=yes
48TINY_CBOR=yes
49SW_AES=yes
50endif
51
52ifeq ($(PROVISIONING_PROXY), yes)
53SHARED_DATA=yes
54TINY_CBOR=yes
55SW_AES=yes
56endif
57
58ifeq ($(CONTROL_NODE), yes)
59scheduler_tasks+= + 3
60SHARED_DATA=yes
61endif
62
63ifeq ($(POSITIONING), yes)
64scheduler_tasks+= + 7
65SHARED_DATA=yes
66app_config_filters+= + 2
67shared_neighbors_cbs+= + 2
68# 2 state event cb
69# - one in measurement for end of scan
70# - one if route cb is implemented in poslib_contol
71stack_state_cbs+= + 2
72SHARED_BEACON=yes
73shared_offline_modules+= + 2
74endif
75
76ifeq ($(SHARED_OFFLINE), yes)
77scheduler_tasks+= + 2
78endif
79
80ifeq ($(DUALMCU_LIB), yes)
81HAL_GPIO=yes
82scheduler_tasks+= + 4
83app_config_filters+= + 1
84SHARED_DATA=yes
85stack_state_cbs+= + 1
86endif
87
88# RTC library
89ifeq ($(RTC), yes)
90scheduler_tasks+= + 1
91SHARED_DATA=yes
92APP_SCHEDULER=yes
93endif
94
95#########
96# Enabling libraries needed by other libs and check app input
97#########
98
99# Shared app_config
100ifeq ($(SHARED_APP_CONFIG), yes)
101# Enabled by app
102ifndef SHARED_APP_CONFIG_FILTERS
103$(error "Please define SHARED_APP_CONFIG_FILTERS from your application makefile. Previously\
104 directly added as a CFLAG: -DSHARED_APP_CONFIG_MAX_FILTER=n")
105endif
106# Add to app libs own filters
107app_config_filters+= + $(SHARED_APP_CONFIG_FILTERS)
108else
109ifneq ($(app_config_filters), 0)
110$(info Enabling SHARED_APP_CONFIG as libraries need it)
111SHARED_APP_CONFIG=yes
112endif
113endif
114
115# Shared neighbors
116ifeq ($(SHARED_NEIGHBORS), yes)
117ifndef SHARED_NEIGHBORS_CBS
118$(error "Please define SHARED_NEIGHBORS_CBS from your application makefile. Previously\
119 directly added as a CFLAG: -DSHARED_NEIGHBORS_MAX_CB=n")
120endif
121shared_neighbors_cbs+= + $(SHARED_NEIGHBORS_CBS)
122else
123ifneq ($(shared_neighbors_cbs), 0)
124$(info Enabling SHARED_NEIGHBORS as libraries need it)
125SHARED_NEIGHBORS=yes
126endif
127endif
128
129# Stack state
130ifeq ($(STACK_STATE_LIB), yes)
131ifdef STACK_STATE_CBS
132stack_state_cbs+= + $(STACK_STATE_CBS)
133endif
134# It is not an issue if STACK_STATE_CBS is not defined
135# as lib can be used without callbacks
136else
137ifneq ($(stack_state_cbs), 0)
138$(info Enabling STACK_STATE_LIB as libraries need it)
139STACK_STATE_LIB=yes
140endif
141endif
142
143# Shared offline library
144ifeq ($(SHARED_OFFLINE), yes)
145ifndef SHARED_OFFLINE_MODULES
146$(error "Please define SHARED_OFFLINE_MODULES from your application makefile. Previously\
147 directly added as a CFLAG: -DSHARED_OFFLINE_MAX_MODULES=n")
148endif
149shared_offline_modules+= + $(SHARED_OFFLINE_MODULES)
150else
151ifneq ($(shared_offline_modules), 0)
152$(info Enabling SHARED_OFFLINE as libraries need it)
153SHARED_OFFLINE=yes
154endif
155endif
156
157# App scheduler
158ifeq ($(APP_SCHEDULER), yes)
159ifndef APP_SCHEDULER_TASKS
160$(error "Please define APP_SCHEDULER_TASKS from your application makefile. Previously\
161 directly added as a CFLAG: -DAPP_SCHEDULER_MAX_TASKS=n")
162endif
163scheduler_tasks+= + $(APP_SCHEDULER_TASKS)
164else
165ifneq ($(scheduler_tasks), 0)
166$(info Enabling APP_SCHEDULER as libraries need it but app not)
167APP_SCHEDULER=yes
168endif
169endif