summaryrefslogtreecommitdiff
path: root/digital/zigbit/bitcloud/stack/lib/MakerulesSelector
blob: 69fd72a000b8024a3cd42a721fabfd8605ee0358 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
#-------------------------------------------------------------------------------
# Check user's configuration.
#-------------------------------------------------------------------------------
ifeq ($(BOARD), BOARD_MESHBEAN)                   ######### MeshBean board #####
  # Checking parameters which have been set by user.
  ifeq (, $(findstring $(RFCHIP), AT86RF230 AT86RF230B AT86RF231 AT86RF212))
    $(error ERROR Wrong configuration: Unknown type of RF chip for $(BOARD) board: '$(RFCHIP)') 
  endif

  ifeq (, $(findstring $(HAL_FREQUENCY), HAL_8MHz HAL_4MHz))
    $(error ERROR Wrong configuration: Unknown type of HAL frequency for $(BOARD) board: '$(HAL_FREQUENCY)') 
  endif

  ifeq (, $(findstring $(HAL), ATMEGA1281 ATMEGA2561))
    $(error ERROR Wrong configuration: Unknown type of HAL for $(BOARD) board: '$(HAL)') 
  endif

else ifeq ($(BOARD), BOARD_STK600)                   ######### STK600 board #####
  ifeq ($(HAL), ATMEGA128RFA1)
    RFCHIP = ATMEGA128RFA1
  endif

  # Checking parameters which have been set by user.
  ifeq (, $(findstring $(RFCHIP), AT86RF230 AT86RF230B AT86RF231 AT86RF212 ATMEGA128RFA1))
    $(error ERROR Wrong configuration: Unknown type of RF chip for $(BOARD) board: '$(RFCHIP)') 
  endif

  ifeq (, $(findstring $(HAL_FREQUENCY), HAL_16MHz HAL_32MHz HAL_12MHz HAL_8MHz HAL_4MHz))
    $(error ERROR Wrong configuration: Unknown type of HAL frequency for $(BOARD) board: '$(HAL_FREQUENCY)') 
  endif

  ifeq (, $(findstring $(HAL), ATXMEGA128A1 ATXMEGA256A3 ATXMEGA256D3 ATMEGA128RFA1))
    $(error ERROR Wrong configuration: Unknown type of HAL for $(BOARD) board: '$(HAL)') 
  endif

else ifeq ($(BOARD), BOARD_USB_DONGLE)                ######### Usb Dongle board #####
  HAL = AT90USB1287
  HAL_FREQUENCY = HAL_8MHz
  RFCHIP = AT86RF230B

else ifeq ($(BOARD), BOARD_SAM7X_EK)                   ##### ATML_SAM7X_EK board ####
  HAL = AT91SAM7X256
  HAL_CLOCK_SOURCE = CRYSTAL
  HAL_FREQUENCY = HAL_18d432MHz

  # Checking parameters which have been set by user.
  ifeq (, $(findstring $(RFCHIP), AT86RF230 AT86RF230B AT86RF231 AT86RF212))
    $(error ERROR Wrong configuration: Unknown type of RF chip for $(BOARD) board: '$(RFCHIP)') 
  endif

else ifeq ($(BOARD), BOARD_MESHBEAN_LAN)                 #### BOARD_MESHBEAN_LAN board ####
  # Setting board parameters which can not be changed by user.
  HAL = AT91SAM7X256
  RFCHIP = AT86RF231

else ifeq ($(BOARD), BOARD_CUSTOM_1)                    ########### CUSTOM_1 board ####
  HAL = AT91SAM7X256
  HAL_CLOCK_SOURCE = CRYSTAL
  RFCHIP = AT86RF230B
  HAL_FREQUENCY = HAL_8MHz

else ifeq ($(BOARD), BOARD_CUSTOM_2)            ########### CUSTOM_2 board ####
  HAL = AT91SAM7X256
  HAL_CLOCK_SOURCE = CRYSTAL
  RFCHIP = AT86RF230B
  HAL_FREQUENCY = HAL_8MHz

else ifeq ($(BOARD), BOARD_SAM3S_EK)                   ##### ATML_SAMAS_EK board ####
  HAL = AT91SAM3S4C
  
  # Checking parameters which were set by user.
  ifeq (, $(findstring $(HAL_FREQUENCY), HAL_4MHz HAL_8MHz HAL_12MHz HAL_64MHz))
    $(error ERROR Wrong configuration: Unknown type of HAL frequency for $(BOARD) board: '$(HAL_FREQUENCY)') 
  endif
  
  # Checking parameters which have been set by user.
  ifeq (, $(findstring $(RFCHIP), AT86RF230 AT86RF230B AT86RF231 AT86RF212))
    $(error ERROR Wrong configuration: Unknown type of RF chip for $(BOARD) board: '$(RFCHIP)') 
  endif  

else ifeq ($(BOARD), BOARD_SAM3S_PIRRD)                   ##### SAMAS_PIRRD board ####
  HAL = AT91SAM3S4C
  
  # Checking parameters which were set by user.
  ifeq (, $(findstring $(HAL_FREQUENCY), HAL_4MHz HAL_8MHz HAL_12MHz HAL_64MHz))
    $(error ERROR Wrong configuration: Unknown type of HAL frequency for $(BOARD) board: '$(HAL_FREQUENCY)') 
  endif
  
  # Checking parameters which have been set by user.
  ifeq (, $(findstring $(RFCHIP), AT86RF230 AT86RF230B AT86RF231 AT86RF212))
    $(error ERROR Wrong configuration: Unknown type of RF chip for $(BOARD) board: '$(RFCHIP)') 
  endif  

else ifeq ($(BOARD), BOARD_CUSTOM_3)                   ##### CUSTOM_3 board ####
  HAL = AT91SAM3S4C
  HAL_FREQUENCY = HAL_64MHz
  RFCHIP = CUSTOMRF3

else ifeq ($(BOARD), BOARD_RAVEN)            ########### BOARD_RAVEN board ####
  HAL = ATMEGA1284
  RFCHIP = AT86RF230B

  # Checking parameters which were set by user.
  ifeq (, $(findstring $(HAL_FREQUENCY), HAL_8MHz HAL_4MHz))
    $(error ERROR Wrong configuration: Unknown type of HAL frequency for $(BOARD) board: '$(HAL_FREQUENCY)') 
  endif

else ifeq ($(BOARD), BOARD_RCB)            ########### RCB board ####
  ifeq (, $(findstring $(BOARD_REV), RCB_ATMEGA128RFA1 RCB230_V31 RCB230_V32 RCB230_V331 RCB231_V402 RCB231_V411 RCB212_V532))
    $(error ERROR in file  Makerules: $(PLATFORM_REV) Unknown board revision for rcb board) 
  endif

  ifeq ($(BOARD_REV), RCB_ATMEGA128RFA1)
    HAL = ATMEGA128RFA1
    RFCHIP = ATMEGA128RFA1
  else
    ifeq ($(USE_KF_MAC), TRUE)
      HAL = ATMEGA2561
    else
      HAL = ATMEGA1281
    endif
    ifneq (, $(findstring $(BOARD_REV), RCB230_V31 RCB230_V32 RCB230_V331))
      RFCHIP = AT86RF230
    endif
    ifneq (, $(findstring $(BOARD_REV), RCB231_V402 RCB231_V411))
      RFCHIP = AT86RF231
    endif
    ifneq (, $(findstring $(BOARD_REV), RCB212_V532))
      RFCHIP = AT86RF212
    endif
  endif # BOARD_REV

  # Checking parameters which were set by user.
  ifeq (, $(findstring $(HAL_FREQUENCY), HAL_8MHz HAL_4MHz))
    $(error ERROR Wrong configuration: Unknown type of HAL frequency for $(BOARD) board: '$(HAL_FREQUENCY)') 
  endif

else ifeq ($(BOARD), BOARD_STK500)                   ######### STK500 board #####
  # Checking parameters which have been set by user.
  ifeq (, $(findstring $(RFCHIP), AT86RF230 AT86RF230B AT86RF231 AT86RF212))
    $(error ERROR Wrong configuration: Unknown type of RF chip for $(BOARD) board: '$(RFCHIP)') 
  endif

  ifeq (, $(findstring $(HAL_FREQUENCY), HAL_8MHz HAL_4MHz))
    $(error ERROR Wrong configuration: Unknown type of HAL frequency for $(BOARD) board: '$(HAL_FREQUENCY)') 
  endif

  ifeq (, $(findstring $(HAL), ATMEGA1281 ATMEGA2561))
    $(error ERROR Wrong configuration: Unknown type of HAL for $(BOARD) board: '$(HAL)') 
  endif

else  ifeq ($(BOARD), BOARD_PC)                   ##### PC board ####
    HAL = X86
  #  HAL_CLOCK_SOURCE = CRYSTAL
  #  HAL_FREQUENCY = HAL_18d432MHz

else ifeq ($(BOARD), BOARD_AVR32_EVK1105)
  # Checking parameters which have been set by user.  
  ifeq (, $(findstring $(RFCHIP), AT86RF230 AT86RF230B AT86RF231 AT86RF212))
    $(error ERROR Wrong configuration: Unknown type of RF chip for $(BOARD) board: '$(RFCHIP)') 
  endif
  
  HAL = AT32UC3A0512

else ifeq ($(BOARD), BOARD_XPLAIN)                   ######### Xplain board #####
  # Checking parameters which have been set by user.
  ifeq (, $(findstring $(RFCHIP), AT86RF230B AT86RF231 AT86RF212))
    $(error ERROR Wrong configuration: Unknown type of RF chip for $(BOARD) board: '$(RFCHIP)')
  endif

  ifeq (, $(findstring $(HAL_FREQUENCY), HAL_16MHz HAL_32MHz HAL_12MHz HAL_8MHz HAL_4MHz))
    $(error ERROR Wrong configuration: Unknown type of HAL frequency for $(BOARD) board: '$(HAL_FREQUENCY)') 
  endif

  HAL = ATXMEGA128A1

else ifeq ($(BOARD), BOARD_REB_CBB)                   ######### REB CBB board #####
  # Checking parameters which have been set by user.
  ifeq (, $(findstring $(RFCHIP), AT86RF230B AT86RF231 AT86RF212))
    $(error ERROR Wrong configuration: Unknown type of RF chip for $(BOARD) board: '$(RFCHIP)')
  endif

  ifeq (, $(findstring $(HAL_FREQUENCY), HAL_16MHz HAL_32MHz HAL_12MHz HAL_8MHz HAL_4MHz))
    $(error ERROR Wrong configuration: Unknown type of HAL frequency for $(BOARD) board: '$(HAL_FREQUENCY)') 
  endif

  HAL = ATXMEGA256A3

else ifeq ($(BOARD), BOARD_SIMULATOR)           ######### Simulator board #####
  HAL = SIMULATOR
  RFCHIP = AT86RF231
  HAL_FREQUENCY = HAL_0MHz

else 
  $(error unknown BOARD)
endif



#-------------------------------------------------------------------------------
# Automatic selection of Makerules and related parameters
#-------------------------------------------------------------------------------
ifndef LIB_TYPE
  LIB_TYPE = Bc
endif

ifndef SECURITY_MODE
  SECURITY_MODE = NO_SECURITY_MODE
endif

ifeq ($(COMPILER_TYPE), IAR)
  LIB_NAME_COMPILER = _Iar
else ifeq ($(COMPILER_TYPE), GCC)
  LIB_NAME_COMPILER = _Gcc
else 
  $(error unknown COMPILER_TYPE)
endif

ifneq ($(LIB_TYPE), HalSe)
  ifeq ($(STACK_TYPE), ALL_DEVICES_TYPES)
    LIB_NAME_DEV_TYPE = _All
  else ifeq ($(STACK_TYPE), COORDINATOR)
    LIB_NAME_DEV_TYPE = _Coordinator
  else ifeq ($(STACK_TYPE), ROUTER)
    LIB_NAME_DEV_TYPE = _Router
  else ifeq ($(STACK_TYPE), ENDDEVICE)
    LIB_NAME_DEV_TYPE = _EndDevice
  else 
    $(error unknown STACK_TYPE)
  endif    

  ifeq ($(SECURITY_MODE), NO_SECURITY_MODE)
    LIB_NAME_SECURITY_MODE =
  else ifeq ($(SECURITY_MODE), STANDARD_SECURITY_MODE)
    LIB_NAME_SECURITY_MODE = _Sec
  else ifeq ($(SECURITY_MODE), STDLINK_SECURITY_MODE)
    LIB_NAME_SECURITY_MODE = _StdlinkSec
  else ifeq ($(SECURITY_MODE), CERTICOM_SECURITY_MODE)
    LIB_NAME_SECURITY_MODE = _SeSec
  else ifeq ($(SECURITY_MODE), HIGH_SECURITY_MODE)
    LIB_NAME_SECURITY_MODE = _HighSec
  else ifeq ($(SECURITY_MODE), CUSTOM_4_SECURITY_MODE)
    LIB_NAME_SECURITY_MODE = _Custom4Sec
  else
    $(error unknown SECURITY_MODE)  
  endif

  ifeq ($(RFCHIP), AT86RF230)
    LIB_NAME_RFCHIP = _Rf230
  else ifeq ($(RFCHIP), AT86RF230B)
    LIB_NAME_RFCHIP = _Rf230B
  else ifeq ($(RFCHIP), AT86RF231)
    LIB_NAME_RFCHIP = _Rf231
  else ifeq ($(RFCHIP), AT86RF212)
    LIB_NAME_RFCHIP = _Rf212
  else ifeq ($(RFCHIP), ATMEGA128RFA1)
    LIB_NAME_RFCHIP = _Atmega128rfa1
  else ifeq ($(RFCHIP), CUSTOMRF3)
    LIB_NAME_RFCHIP = _CustomRf3
  else
    $(error unknown LIB_TYPE)
  endif
endif


ifeq ( , $(findstring $(HAL), AT91SAM7X256 X86 AT32UC3A0512))
  ifeq ($(HAL_FREQUENCY), HAL_0MHz)
    LIB_NAME_HAL_FREQ = _0Mhz
  else ifeq ($(HAL_FREQUENCY), HAL_4MHz)
    LIB_NAME_HAL_FREQ = _4Mhz
  else ifeq ($(HAL_FREQUENCY), HAL_8MHz)
    LIB_NAME_HAL_FREQ = _8Mhz
  else ifeq ($(HAL_FREQUENCY), HAL_12MHz)
    LIB_NAME_HAL_FREQ = _12Mhz
  else ifeq ($(HAL_FREQUENCY), HAL_16MHz)
    LIB_NAME_HAL_FREQ = _16Mhz
  else ifeq ($(HAL_FREQUENCY), HAL_32MHz)
    LIB_NAME_HAL_FREQ = _32Mhz
  else ifeq ($(HAL_FREQUENCY), HAL_64MHz)
    LIB_NAME_HAL_FREQ = _64Mhz
  else
    $(error unknown HAL_FREQUENCY)
  endif
endif

ifeq ($(BOARD), BOARD_MESHBEAN)
  HAL_LIB_NAME_PLATFORM = _ZigBit
else ifeq ($(BOARD), BOARD_USB_DONGLE)
  HAL_LIB_NAME_PLATFORM = _AtmlUsbDongle
else ifeq ($(BOARD), BOARD_STK600)
  HAL_LIB_NAME_PLATFORM = _AtmlStk600
else ifeq ($(BOARD), BOARD_STK500)
  HAL_LIB_NAME_PLATFORM = _AtmlStk500Rf2xx
else ifeq ($(BOARD), BOARD_SAM7X_EK)
  HAL_LIB_NAME_PLATFORM = _Sam7xEkRf2xx
else ifeq ($(BOARD), BOARD_SAM3S_EK)
  HAL_LIB_NAME_PLATFORM = _Sam3sEkRf2xx
else ifeq ($(BOARD), BOARD_SAM3S_PIRRD)
  HAL_LIB_NAME_PLATFORM = _Sam3sPirrd
else ifeq ($(BOARD), BOARD_MESHBEAN_LAN)
  HAL_LIB_NAME_PLATFORM = _ZigBitLan
else ifeq ($(BOARD), BOARD_CUSTOM_1)
  HAL_LIB_NAME_PLATFORM = _Custom1
else ifeq ($(BOARD), BOARD_CUSTOM_2)
  HAL_LIB_NAME_PLATFORM = _Custom2
else ifeq ($(BOARD), BOARD_CUSTOM_3)
  HAL_LIB_NAME_PLATFORM = _Custom3
else ifeq ($(BOARD), BOARD_RAVEN)
  HAL_LIB_NAME_PLATFORM = _Raven
else ifeq ($(BOARD), BOARD_RCB)
  ifeq ($(BOARD_REV), RCB_ATMEGA128RFA1)
    HAL_LIB_NAME_PLATFORM = _RcbAtm128rfa1
  else
    ifneq (, $(findstring $(BOARD_REV), RCB230_V31 RCB230_V32 RCB230_V331))
      HAL_LIB_NAME_PLATFORM = _Rcb230
    endif
    ifneq (, $(findstring $(BOARD_REV), RCB231_V402 RCB231_V411 RCB212_V532))
      HAL_LIB_NAME_PLATFORM = _Rcb231_212
    endif
  endif # BOARD_REV
else ifeq ($(BOARD), BOARD_PC)
  HAL_LIB_NAME_PLATFORM = _PC
else ifeq ($(BOARD), BOARD_AVR32_EVK1105)
  HAL_LIB_NAME_PLATFORM = _Avr32Evk1105
else ifeq ($(BOARD), BOARD_XPLAIN)
  HAL_LIB_NAME_PLATFORM = _Xplain
else ifeq ($(BOARD), BOARD_REB_CBB)
  ifneq (, $(findstring $(RFCHIP), AT86RF230B))
    HAL_LIB_NAME_PLATFORM = _RebCbb230
  endif
  ifneq (, $(findstring $(RFCHIP), AT86RF231 AT86RF212))
    HAL_LIB_NAME_PLATFORM = _RebCbb231_212
  endif
else ifeq ($(BOARD), BOARD_SIMULATOR)
  HAL_LIB_NAME_PLATFORM = _Sim
else
  $(error unknown HAL_LIB_NAME_PLATFORM for board $(BOARD))
endif

ifeq ($(HAL), ATMEGA1281)
  LIB_NAME_MICRO = _Atmega1281
else ifeq ($(HAL), ATMEGA2561)
  LIB_NAME_MICRO = _Atmega2561
else ifeq ($(HAL), AT90USB1287)
  LIB_NAME_MICRO = _At90usb1287
else ifeq ($(HAL), ATMEGA1284)
  LIB_NAME_MICRO = _Atmega1284
else ifeq ($(HAL), ATXMEGA128A1)
  LIB_NAME_MICRO = _Atxmega128a1
else ifeq ($(HAL), ATXMEGA256A3)
  LIB_NAME_MICRO = _Atxmega256a3
else ifeq ($(HAL), ATXMEGA256D3)
  LIB_NAME_MICRO = _Atxmega256d3
else ifeq ($(HAL), ATMEGA128RFA1)
  LIB_NAME_MICRO = _Atmega128rfa1
else ifeq ($(HAL), AT91SAM7X256)
  LIB_NAME_MICRO = _At91sam7x256
else ifeq ($(HAL), AT91SAM3S4C)
  LIB_NAME_MICRO = _At91sam3s4c
else ifeq ($(HAL), X86)
  LIB_NAME_MICRO = _x86
else ifeq ($(HAL), AT32UC3A0512)
  LIB_NAME_MICRO = _At32uc3a0512
else ifeq ($(HAL), SIMULATOR)
  LIB_NAME_MICRO = _Sim
else
  $(error unknown HAL)
endif

ifeq ($(HAL_USE_AMPLIFIER), TRUE)
  LIB_NAME_AMP = _Amp
endif

ifeq ($(USE_KF_MAC), TRUE)
  LIB_NAME_KF = _Kf
endif

LIB_MAKERULES = Makerules$(LIB_TYPE)$(LIB_NAME_KF)$(LIB_NAME_DEV_TYPE)$(LIB_NAME_SECURITY_MODE)$(LIB_NAME_MICRO)$(LIB_NAME_RFCHIP)$(LIB_NAME_COMPILER)
STACK_LIB = $(LIB_TYPE)$(LIB_NAME_KF)$(LIB_NAME_DEV_TYPE)$(LIB_NAME_SECURITY_MODE)$(LIB_NAME_MICRO)$(LIB_NAME_RFCHIP)$(LIB_NAME_COMPILER)
HAL_LIB = HAL$(HAL_LIB_NAME_PLATFORM)$(LIB_NAME_MICRO)$(LIB_NAME_HAL_FREQ)$(LIB_NAME_COMPILER)$(LIB_NAME_AMP)$(LIB_NAME_KF)