mirror of https://github.com/ArduPilot/ardupilot
68 lines
1.8 KiB
Python
68 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',
|
|
'AP_Logger',
|
|
'AP_Filesystem',
|
|
],
|
|
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',
|
|
)
|