xref: /f-stack/dpdk/kernel/linux/kni/meson.build (revision 2d9fd380)
1d30ea906Sjfb8856606# SPDX-License-Identifier: BSD-3-Clause
2d30ea906Sjfb8856606# Copyright(c) 2018 Luca Boccassi <[email protected]>
3d30ea906Sjfb8856606
4d30ea906Sjfb8856606kni_mkfile = custom_target('rte_kni_makefile',
5d30ea906Sjfb8856606	output: 'Makefile',
6d30ea906Sjfb8856606	command: ['touch', '@OUTPUT@'])
7d30ea906Sjfb8856606
8d30ea906Sjfb8856606kni_sources = files(
9d30ea906Sjfb8856606	'kni_misc.c',
10d30ea906Sjfb8856606	'kni_net.c',
11d30ea906Sjfb8856606	'Kbuild')
12d30ea906Sjfb8856606
13d30ea906Sjfb8856606custom_target('rte_kni',
144418919fSjohnjiang	input: kni_sources,
15d30ea906Sjfb8856606	output: 'rte_kni.ko',
164b05018fSfengbojiang	command: ['make', '-j4', '-C', kernel_dir + '/build',
17d30ea906Sjfb8856606		'M=' + meson.current_build_dir(),
18d30ea906Sjfb8856606		'src=' + meson.current_source_dir(),
19d30ea906Sjfb8856606		'MODULE_CFLAGS=-include ' + meson.source_root() + '/config/rte_config.h' +
20*2d9fd380Sjfb8856606		' -I' + meson.source_root() + '/lib/librte_eal/include' +
21*2d9fd380Sjfb8856606		' -I' + meson.source_root() + '/lib/librte_kni' +
22d30ea906Sjfb8856606		' -I' + meson.build_root() +
234418919fSjohnjiang		' -I' + meson.current_source_dir(),
24d30ea906Sjfb8856606		'modules'],
25d30ea906Sjfb8856606	depends: kni_mkfile,
26d30ea906Sjfb8856606	install: true,
274b05018fSfengbojiang	install_dir: kernel_dir + '/extra/dpdk',
28d30ea906Sjfb8856606	build_by_default: get_option('enable_kmods'))
29