ardupilot/Tools/AP_Periph/wscript

66 lines
1.8 KiB
Python

#!/usr/bin/env python
# encoding: utf-8
import fnmatch
def build(bld):
targets = bld.ap_periph_boards()
valid_target = False
for t in targets:
if fnmatch.fnmatch(bld.env.BOARD, t):
valid_target = True
if not valid_target:
return
bld.ap_stlib(
name= 'AP_Periph_libs',
ap_vehicle='AP_Periph',
ap_libraries= [
'AP_Common',
'AP_HAL',
'AP_HAL_Empty',
'AP_Math',
'AP_BoardConfig',
'AP_BattMonitor',
'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',
],
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
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",
group='dynamic_sources',
)