2019-05-26 22:46:41 -03:00
|
|
|
#!/usr/bin/env python
|
|
|
|
# encoding: utf-8
|
|
|
|
|
2019-10-02 06:04:44 -03:00
|
|
|
import fnmatch
|
|
|
|
|
2019-05-26 22:46:41 -03:00
|
|
|
def build(bld):
|
2021-01-05 17:43:49 -04:00
|
|
|
targets = bld.ap_periph_boards()
|
2019-10-02 06:04:44 -03:00
|
|
|
valid_target = False
|
|
|
|
for t in targets:
|
|
|
|
if fnmatch.fnmatch(bld.env.BOARD, t):
|
|
|
|
valid_target = True
|
|
|
|
if not valid_target:
|
2019-05-26 22:46:41 -03:00
|
|
|
return
|
|
|
|
|
2021-06-20 03:02:12 -03:00
|
|
|
if bld.env.AP_PERIPH_HEAVY:
|
|
|
|
libraries = bld.ap_get_all_libraries()
|
|
|
|
bld.env.DEFINES += ['HAL_BOARD_AP_PERIPH_HEAVY']
|
|
|
|
else:
|
|
|
|
libraries = ['AP_Common',
|
|
|
|
'AP_HAL',
|
|
|
|
'AP_HAL_Empty',
|
|
|
|
'AP_Math',
|
|
|
|
'AP_BoardConfig',
|
|
|
|
'AP_BattMonitor',
|
|
|
|
'AP_CANManager',
|
|
|
|
'AP_Param',
|
|
|
|
'StorageManager',
|
|
|
|
'AP_FlashStorage',
|
|
|
|
'AP_RAMTRON',
|
|
|
|
'AP_GPS',
|
|
|
|
'AP_SerialManager',
|
|
|
|
'AP_RTC',
|
|
|
|
'AP_Compass',
|
|
|
|
'AP_Baro',
|
|
|
|
'Filter',
|
|
|
|
'AP_InternalError',
|
|
|
|
'AP_Airspeed',
|
|
|
|
'AP_RangeFinder',
|
|
|
|
'AP_ROMFS',
|
|
|
|
'AP_MSP',
|
|
|
|
'SRV_Channel',
|
|
|
|
'AP_Notify',
|
|
|
|
'AP_SerialLED',
|
|
|
|
'AP_Filesystem',
|
|
|
|
'AP_InertialSensor',
|
|
|
|
'AP_AccelCal',
|
|
|
|
'AP_Logger',
|
|
|
|
'AC_PID',
|
|
|
|
]
|
2019-05-26 22:46:41 -03:00
|
|
|
bld.ap_stlib(
|
|
|
|
name= 'AP_Periph_libs',
|
|
|
|
ap_vehicle='AP_Periph',
|
2021-06-20 03:02:12 -03:00
|
|
|
ap_libraries= libraries,
|
2019-05-26 22:46:41 -03:00
|
|
|
exclude_src=[
|
|
|
|
'libraries/AP_HAL_ChibiOS/Storage.cpp'
|
|
|
|
]
|
|
|
|
)
|
|
|
|
|
|
|
|
# build external libcanard library
|
|
|
|
bld.stlib(source='../../modules/libcanard/canard.c',
|
|
|
|
target='libcanard')
|
|
|
|
|
|
|
|
bld.ap_program(
|
|
|
|
program_name='AP_Periph',
|
|
|
|
use=['AP_Periph_libs', 'libcanard'],
|
|
|
|
program_groups=['bin','AP_Periph'],
|
|
|
|
includes=[bld.env.SRCROOT + '/modules/libcanard',
|
|
|
|
bld.env.BUILDROOT + '/modules/libcanard/dsdlc_generated']
|
|
|
|
)
|
|
|
|
|
|
|
|
bld(
|
|
|
|
# build libcanard headers
|
2019-10-24 08:31:58 -03:00
|
|
|
rule="python3 ${SRCROOT}/modules/libcanard/dsdl_compiler/libcanard_dsdlc --header_only --outdir ${BUILDROOT}/modules/libcanard/dsdlc_generated ${SRCROOT}/modules/uavcan/dsdl/uavcan ${SRCROOT}/libraries/AP_UAVCAN/dsdl/ardupilot ${SRCROOT}/libraries/AP_UAVCAN/dsdl/com",
|
2019-05-26 22:46:41 -03:00
|
|
|
group='dynamic_sources',
|
|
|
|
)
|