build: support KNI cross-compilation
[dpdk.git] / kernel / linux / kni / meson.build
1 # SPDX-License-Identifier: BSD-3-Clause
2 # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
3
4 kni_mkfile = custom_target('rte_kni_makefile',
5         output: 'Makefile',
6         command: ['touch', '@OUTPUT@'])
7
8 kni_sources = files(
9         'kni_misc.c',
10         'kni_net.c',
11         'Kbuild')
12
13 custom_target('rte_kni',
14         input: kni_sources,
15         output: 'rte_kni.ko',
16         command: ['make', '-j4', '-C', kernel_build_dir,
17                 'M=' + meson.current_build_dir(),
18                 'src=' + meson.current_source_dir(),
19                 'MODULE_CFLAGS=-include ' + meson.source_root() + '/config/rte_config.h' +
20                 ' -I' + meson.source_root() + '/lib/librte_eal/include' +
21                 ' -I' + meson.source_root() + '/lib/librte_kni' +
22                 ' -I' + meson.build_root() +
23                 ' -I' + meson.current_source_dir(),
24                 'modules'] + cross_args,
25         depends: kni_mkfile,
26         install: install,
27         install_dir: kernel_install_dir,
28         build_by_default: get_option('enable_kmods'))