foreach file : in_files
catalogs += custom_target(
- file,
input : file + '.in',
output: file,
command : [sed, support_sed, '@INPUT@'],
# SPDX-License-Identifier: LGPL-2.1-or-later
custom_target(
- 'README',
input : 'README.in',
output : 'README',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
factory_etc_dir = factorydir / 'etc'
custom_target(
- 'locale.conf',
input : 'locale.conf.in',
output : 'locale.conf',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
install_dir : factory_etc_dir)
custom_target(
- 'vconsole.conf',
input : 'vconsole.conf.in',
output : 'vconsole.conf',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
if conf.get('ENABLE_HWDB') == 1
auto_suspend_rules = custom_target(
- '60-autosuspend-chromiumos.hwdb',
output : '60-autosuspend-chromiumos.hwdb',
command : make_autosuspend_rules_py,
capture : true,
xslt_cmd = [xsltproc, '-o', '@OUTPUT0@'] + xsltproc_flags
custom_entities_ent = custom_target(
- 'custom-entities.ent',
input : 'custom-entities.ent.in',
output : 'custom-entities.ent',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'])
if xsltproc.found()
p1 = custom_target(
- man,
input : xml,
output : [man] + manaliases,
command : xslt_cmd + [custom_man_xsl, '@INPUT@'],
p2 = []
foreach htmlalias : htmlaliases
link = custom_target(
- htmlalias,
output : htmlalias,
command : [ln, '-fs', html, '@OUTPUT@'])
if want_html
endforeach
p3 = custom_target(
- html,
input : xml,
output : html,
command : xslt_cmd + [custom_html_xsl, '@INPUT@'],
endif
systemd_directives_xml = custom_target(
- 'systemd.directives.xml',
input : ['directives-template.xml', source_xml_files],
output : 'systemd.directives.xml',
depends : man_page_depends,
nonindex_xml_files = source_xml_files + [systemd_directives_xml]
systemd_index_xml = custom_target(
- 'systemd.index.xml',
input : nonindex_xml_files,
output : 'systemd.index.xml',
command : [make_man_index_py, '@OUTPUT@'] + nonindex_xml_files)
mandirn = get_option('mandir') / ('man' + section)
p1 = custom_target(
- man,
input : xml,
output : man,
command : xslt_cmd + [custom_man_xsl, '@INPUT@'],
if html == 'systemd.index.html'
htmlalias = 'index.html'
link = custom_target(
- htmlalias,
input : p2,
output : htmlalias,
command : [ln, '-fs', html, '@OUTPUT@'])
endif
p3 = custom_target(
- html,
input : xml,
output : html,
command : xslt_cmd + [custom_html_xsl, '@INPUT@'],
# Cannot use run_target because those targets are used in depends
# Also see https://github.com/mesonbuild/meson/issues/368.
man = custom_target(
- 'man',
output : 'man',
depends : man_pages,
command : [echo])
html = custom_target(
- 'html',
output : 'html',
depends : html_pages,
command : [echo])
message('Using provided @0@'.format(provided_vmlinux_h_path))
elif use_generated_vmlinux_h
vmlinux_h_dependency = custom_target(
- 'vmlinux.h',
output: 'vmlinux.h',
command : [ bpftool, 'btf', 'dump', 'file', '/sys/kernel/btf/vmlinux', 'format', 'c' ],
capture : true)
#####################################################################
runtest_env = custom_target(
- 'systemd-runtest.env',
output : 'systemd-runtest.env',
command : ['printf',
'SYSTEMD_TEST_DATA=%q\nSYSTEMD_CATALOG_DIR=%q\n',
endforeach
ukify = custom_target(
- 'ukify',
input : 'src/ukify/ukify.py',
output : 'ukify',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
all_files = files(all_files.stdout().split())
custom_target(
- 'tags',
output : 'tags',
command : [env, 'etags', '-o', '@0@/TAGS'.format(meson.project_source_root())] + all_files)
run_target(
endif
meson_extract_unit_files = find_program('tools/meson-extract-unit-files.py')
-custom_target('installed-unit-files.txt',
+custom_target(
output : 'installed-unit-files.txt',
capture : true,
install : want_tests != 'no' and install_tests,
want = tuple.length() == 1 or tuple[1]
rule = custom_target(
- tuple[0],
input : tuple[0] + '.in',
output: tuple[0],
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
endif
custom_target(
- 'systemctl',
input : 'systemctl.in',
output : 'systemctl',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
endif
custom_target(
- '_systemctl',
input : '_systemctl.in',
output : '_systemctl',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
generate_af_list = find_program('generate-af-list.sh')
af_list_txt = custom_target(
- 'af-list.txt',
output : 'af-list.txt',
command : [generate_af_list, cpp, files('missing_socket.h')],
capture : true)
generate_arphrd_list = find_program('generate-arphrd-list.sh')
arphrd_list_txt = custom_target(
- 'arphrd-list.txt',
output : 'arphrd-list.txt',
command : [generate_arphrd_list, cpp, files('include/linux/if_arp.h')],
capture : true)
generate_cap_list = find_program('generate-cap-list.sh')
cap_list_txt = custom_target(
- 'cap-list.txt',
output : 'cap-list.txt',
command : [generate_cap_list, cpp, files('include/linux/capability.h')],
capture : true)
generate_errno_list = find_program('generate-errno-list.sh')
errno_list_txt = custom_target(
- 'errno-list.txt',
output : 'errno-list.txt',
command : [generate_errno_list, cpp],
capture : true)
fname = '@0@-from-name.gperf'.format(item[0])
gperf_file = custom_target(
- fname,
input : item[1],
output : fname,
command : [generate_gperfs, item[2], item[3], '@INPUT@'] + item[4],
fname = '@0@-from-name.inc'.format(item[0])
target1 = custom_target(
- fname,
input : gperf_file,
output : fname,
command : [gperf,
fname = '@0@-to-name.inc'.format(item[0])
awkscript = '@0@-to-name.awk'.format(item[0])
target2 = custom_target(
- fname,
input : [awkscript, item[1]],
output : fname,
command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
endif
filesystems_gperf_h = custom_target(
- 'filesystems-gperf.h',
input : 'filesystems-gperf.gperf',
output : 'filesystems-gperf.h',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
generate_filesystem_list = find_program('generate-filesystem-list.py')
fname = 'filesystem-list.inc'
filesystem_list_inc = custom_target(
- fname,
input : 'filesystems-gperf.gperf',
output : fname,
command : [generate_filesystem_list,
generate_filesystem_switch_case_inc = find_program('generate-filesystem-switch-case.py')
fname = 'filesystem-switch-case.inc'
filesystem_switch_case_inc = custom_target(
- fname,
input : 'filesystems-gperf.gperf',
output : fname,
command : [generate_filesystem_switch_case_inc,
if conf.get('ENABLE_UKIFY') == 1
test_hwids_section_c = custom_target(
- 'test-hwids-section.c',
input : ['hwids/device1.json', 'hwids/device2.json', 'hwids/device3.json', 'hwids/device4.json'],
output : 'test-hwids-section.c',
command : [generate_hwids_section_py, meson.current_source_dir()/'hwids'],
endif
exe = custom_target(
- name,
output : name,
input : efi_elf_binary,
install : true,
endif
restrict_fs_bpf_o_unstripped = custom_target(
- 'restrict-fs.bpf.unstripped.o',
input : 'restrict-fs.bpf.c',
output : 'restrict-fs.bpf.unstripped.o',
command : bpf_o_unstripped_cmd)
restrict_fs_bpf_o = custom_target(
- 'restrict-fs.bpf.o',
input : restrict_fs_bpf_o_unstripped,
output : 'restrict-fs.bpf.o',
command : bpf_o_cmd)
restrict_fs_skel_h = custom_target(
- 'restrict-fs.skel.h',
input : restrict_fs_bpf_o,
output : 'restrict-fs.skel.h',
command : skel_h_cmd,
endif
restrict_ifaces_bpf_o_unstripped = custom_target(
- 'restrict-ifaces.bpf.unstripped.o',
input : 'restrict-ifaces.bpf.c',
output : 'restrict-ifaces.bpf.unstripped.o',
command : bpf_o_unstripped_cmd)
restrict_ifaces_bpf_o = custom_target(
- 'restrict-ifaces.bpf.o',
input : restrict_ifaces_bpf_o_unstripped,
output : 'restrict-ifaces.bpf.o',
command : bpf_o_cmd)
restrict_ifaces_skel_h = custom_target(
- 'restrict-ifaces.skel.h',
input : restrict_ifaces_bpf_o,
output : 'restrict-ifaces.skel.h',
command : skel_h_cmd,
endif
socket_bind_bpf_o_unstripped = custom_target(
- 'socket-bind.bpf.unstripped.o',
input : 'socket-bind.bpf.c',
output : 'socket-bind.bpf.unstripped.o',
command : bpf_o_unstripped_cmd)
socket_bind_bpf_o = custom_target(
- 'socket-bind.bpf.o',
input : socket_bind_bpf_o_unstripped,
output : 'socket-bind.bpf.o',
command : bpf_o_cmd)
socket_bind_skel_h = custom_target(
- 'socket-bind.skel.h',
input : socket_bind_bpf_o,
output : 'socket-bind.skel.h',
command : skel_h_cmd,
sources += libcore_sources
load_fragment_gperf_gperf = custom_target(
- 'load-fragment-gperf.gperf',
input : 'load-fragment-gperf.gperf.in',
output: 'load-fragment-gperf.gperf',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'])
load_fragment_gperf_c = custom_target(
- 'load-fragment-gperf.c',
input : load_fragment_gperf_gperf,
output : 'load-fragment-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
awkscript = 'load-fragment-gperf-nulstr.awk'
load_fragment_gperf_nulstr_c = custom_target(
- 'load-fragment-gperf-nulstr.c',
input : [awkscript, load_fragment_gperf_gperf],
output : 'load-fragment-gperf-nulstr.c',
command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
dir = item[1]
custom_target(
- file,
input : file + '.in',
output: file,
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
endforeach
systemd_pc = custom_target(
- 'systemd.pc',
input : 'systemd.pc.in',
output : 'systemd.pc',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
)
homed_gperf_c = custom_target(
- 'homed-gperf.c',
input : 'homed-gperf.gperf',
output : 'homed-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
foreach tuple : in_files
file = tuple[0]
custom_target(
- file,
input : file + '.in',
output: file,
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
)
journald_gperf_c = custom_target(
- 'journald-gperf.c',
input : 'journald-gperf.gperf',
output : 'journald-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
]
ukify_install = custom_target(
- '60-ukify.install',
input : '60-ukify.install.in',
output : '60-ukify.install',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
install_dir : kernelinstalldir)
loaderentry_install = custom_target(
- '90-loaderentry.install',
input : '90-loaderentry.install.in',
output : '90-loaderentry.install',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
static_libsystemd_pic = static_libsystemd == 'true' or static_libsystemd == 'pic'
libsystemd_pc = custom_target(
- 'libsystemd.pc',
input : 'libsystemd.pc.in',
output : 'libsystemd.pc',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
generate_audit_type_list = find_program('generate-audit_type-list.sh')
audit_type_list_txt = custom_target(
- 'audit_type-list.txt',
output : 'audit_type-list.txt',
command : [generate_audit_type_list, cpp, missing_audit_h],
capture : true)
audit_type_to_name = custom_target(
- 'audit_type-to-name.inc',
input : ['audit_type-to-name.awk', audit_type_list_txt],
output : 'audit_type-to-name.inc',
command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
static_libudev_pic = static_libudev == 'true' or static_libudev == 'pic'
libudev_pc = custom_target(
- 'libudev.pc',
input : 'libudev.pc.in',
output : 'libudev.pc',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
)
logind_gperf_c = custom_target(
- 'logind-gperf.c',
input : 'logind-gperf.gperf',
output : 'logind-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
]
custom_target(
- 'logind.conf',
input : 'logind.conf.in',
output : 'logind.conf',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
install_dir : pkgconfigfiledir)
custom_target(
- 'systemd-user',
input : 'systemd-user.in',
output : 'systemd-user',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
endif
sysctl_monitor_bpf_o_unstripped = custom_target(
- 'sysctl-monitor.bpf.unstripped.o',
input : 'sysctl-monitor.bpf.c',
output : 'sysctl-monitor.bpf.unstripped.o',
command : bpf_o_unstripped_cmd,
depends : vmlinux_h_dependency)
sysctl_monitor_bpf_o = custom_target(
- 'sysctl-monitor.bpf.o',
input : sysctl_monitor_bpf_o_unstripped,
output : 'sysctl-monitor.bpf.o',
command : bpf_o_cmd)
sysctl_monitor_skel_h = custom_target(
- 'sysctl-monitor.skel.h',
input : sysctl_monitor_bpf_o,
output : 'sysctl-monitor.skel.h',
command : skel_h_cmd,
endif
networkd_gperf_c = custom_target(
- 'networkd-gperf.c',
input : 'networkd-gperf.gperf',
output : 'networkd-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
networkd_network_gperf_c = custom_target(
- 'networkd-network-gperf.c',
input : networkd_network_gperf_gperf,
output : 'networkd-network-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
netdev_gperf_c = custom_target(
- 'netdev-gperf.c',
input : networkd_netdev_gperf_gperf,
output : 'netdev-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
)
nspawn_gperf_c = custom_target(
- 'nspawn-gperf.c',
input : 'nspawn-gperf.gperf',
output : 'nspawn-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
endif
userns_restrict_bpf_o_unstripped = custom_target(
- 'userns-restrict.bpf.unstripped.o',
input : 'userns-restrict.bpf.c',
output : 'userns-restrict.bpf.unstripped.o',
command : bpf_o_unstripped_cmd,
depends : vmlinux_h_dependency)
userns_restrict_bpf_o = custom_target(
- 'userns-restrict.bpf.o',
input : userns_restrict_bpf_o_unstripped,
output : 'userns-restrict.bpf.o',
command : bpf_o_cmd)
userns_restrict_skel_h = custom_target(
- 'userns-restrict.skel.h',
input : userns_restrict_bpf_o,
output : 'userns-restrict.skel.h',
command : skel_h_cmd,
############################################################
dns_type_list_txt = custom_target(
- 'dns_type-list.txt',
input : ['generate-dns_type-list.sed', 'dns-type.h'],
output : 'dns_type-list.txt',
command : [sed, '-n', '-r', '-f', '@INPUT0@', '@INPUT1@'],
generate_dns_type_gperf = find_program('generate-dns_type-gperf.py')
gperf_file = custom_target(
- 'dns_type-from-name.gperf',
input : dns_type_list_txt,
output : 'dns_type-from-name.gperf',
command : [generate_dns_type_gperf, 'dns_type', 'DNS_TYPE_', '@INPUT@'],
capture : true)
dns_type_from_name_inc = custom_target(
- 'dns_type-from-name.inc',
input : gperf_file,
output : 'dns_type-from-name.inc',
command : [gperf,
capture : true)
dns_type_to_name_inc = custom_target(
- 'dns_type-to-name.inc',
input : ['dns_type-to-name.awk', dns_type_list_txt],
output : 'dns_type-to-name.inc',
command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
capture : true)
resolved_gperf_c = custom_target(
- 'resolved-gperf.c',
input : 'resolved-gperf.gperf',
output : 'resolved-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
resolved_dnssd_gperf_c = custom_target(
- 'resolved-dnssd-gperf.c',
input : 'resolved-dnssd-gperf.gperf',
output : 'resolved-dnssd-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
resolved_dns_delegate_gperf_c = custom_target(
- 'resolved-dns-delegate-gperf.c',
input : 'resolved-dns-delegate-gperf.gperf',
output : 'resolved-dns-delegate-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
install_dir : bindir)
custom_target(
- 'resolved.conf',
input : 'resolved.conf.in',
output : 'resolved.conf',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
foreach tuple : in_files
file = tuple[0]
custom_target(
- file,
input : file + '.in',
output : file,
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
install_dir : bindir)
custom_target(
- 'systemd-run0',
input : 'systemd-run0.in',
output : 'systemd-run0',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
generate_syscall_list = find_program('generate-syscall-list.py')
fname = 'syscall-list.inc'
syscall_list_inc = custom_target(
- fname,
input : syscall_list_txt,
output : fname,
command : [generate_syscall_list,
generate_ip_protocol_list = find_program('generate-ip-protocol-list.sh')
ip_protocol_list_txt = custom_target(
- 'ip-protocol-list.txt',
output : 'ip-protocol-list.txt',
command : [generate_ip_protocol_list, cpp],
capture : true)
fname = 'ip-protocol-from-name.gperf'
gperf_file = custom_target(
- fname,
input : ip_protocol_list_txt,
output : fname,
command : [generate_gperfs, 'ip_protocol', 'IPPROTO_', '@INPUT@', '<netinet/in.h>'],
fname = 'ip-protocol-from-name.inc'
target1 = custom_target(
- fname,
input : gperf_file,
output : fname,
command : [gperf,
fname = 'ip-protocol-to-name.inc'
awkscript = 'ip-protocol-to-name.awk'
target2 = custom_target(
- fname,
input : [awkscript, ip_protocol_list_txt],
output : fname,
command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
fname = 'ethtool-link-mode.inc'
ethtool_link_mode_inc = custom_target(
- fname,
input : ['ethtool-link-mode.py', '../basic/include/linux/ethtool.h'],
output : fname,
command : [python, '@INPUT0@', '--header', cpp, '@INPUT1@'],
fname = 'ethtool-link-mode.xml'
ethtool_link_mode_xml = custom_target(
- fname,
input : ['ethtool-link-mode.py', '../basic/include/linux/ethtool.h'],
output : fname,
command : [python, '@INPUT0@', '--xml', cpp, '@INPUT1@'],
if conf.get('ENABLE_SSH_PROXY_CONFIG') == 1
custom_target(
- '20-systemd-ssh-proxy.conf',
input : '20-systemd-ssh-proxy.conf.in',
output : '20-systemd-ssh-proxy.conf',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
awkscript = 'test-hashmap-ordered.awk'
test_hashmap_ordered_c = custom_target(
- 'test-hashmap-ordered.c',
input : [awkscript, 'test-hashmap-plain.c'],
output : 'test-hashmap-ordered.c',
command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
generate_sym_test_py = find_program('generate-sym-test.py')
test_libsystemd_sym_c = custom_target(
- 'test-libsystemd-sym.c',
input : [libsystemd_sym_path] + systemd_headers + libsystemd_sources,
output : 'test-libsystemd-sym.c',
command : [generate_sym_test_py, libsystemd_sym_path, libsystemd_dir_path] + systemd_headers,
build_by_default : want_tests != 'false')
test_libudev_sym_c = custom_target(
- 'test-libudev-sym.c',
input : [libudev_sym_path, libudev_h_path] + libudev_sources,
output : 'test-libudev-sym.c',
command : [generate_sym_test_py, libudev_sym_path, libudev_dir_path, libudev_h_path],
)
timesyncd_gperf_c = custom_target(
- 'timesyncd-gperf.c',
input : 'timesyncd-gperf.gperf',
output : 'timesyncd-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
]
custom_target(
- 'timesyncd.conf',
input : 'timesyncd.conf.in',
output : 'timesyncd.conf',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
generate_keyboard_keys_list = find_program('generate-keyboard-keys-list.sh')
keyboard_keys_list_txt = custom_target(
- 'keyboard-keys-list.txt',
input : files('../basic/include/linux/input.h'),
output : 'keyboard-keys-list.txt',
command : [generate_keyboard_keys_list, cpp, '@INPUT@'],
generate_keyboard_keys_gperf = find_program('generate-keyboard-keys-gperf.sh')
fname = 'keyboard-keys-from-name.gperf'
gperf_file = custom_target(
- fname,
input : keyboard_keys_list_txt,
output : fname,
command : [generate_keyboard_keys_gperf, '@INPUT@'],
fname = 'keyboard-keys-from-name.inc'
keyboard_keys_from_name_inc = custom_target(
- fname,
input : gperf_file,
output : fname,
command : [gperf,
udev_link_gperf_gperf = files('net/link-config-gperf.gperf')
link_config_gperf_c = custom_target(
- 'link-config-gperf.c',
input : udev_link_gperf_gperf,
output : 'link-config-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
endif
udev_pc = custom_target(
- 'udev.pc',
input : 'udev.pc.in',
output : 'udev.pc',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
if conf.get('ENABLE_SSH_USERDB_CONFIG') == 1
custom_target(
- '20-systemd-userdb.conf',
input : '20-systemd-userdb.conf.in',
output : '20-systemd-userdb.conf',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
endif
custom_target(
- '50-coredump.conf',
input : '50-coredump.conf.in',
output : '50-coredump.conf',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
foreach tuple : in_files
file = tuple[0]
custom_target(
- file,
input : file + '.in',
output: file,
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
foreach tuple : directives
directive = custom_target(
- tuple[1],
output: tuple[1],
command: [generate_directives_py, tuple[2]],
capture: true)
sec_rx = section == 'Service' ? '(Service|Unit|Install)' : section
name = 'directives.@0@'.format(unit_type)
unit_directives += custom_target(
- name,
output: name,
command: [generate_directives_py, load_fragment_gperf_gperf, sec_rx, unit_type],
capture: true)
foreach f : in_files
if f.length() == 1 or conf.get(f[1]) == 1
custom_target(
- f[0],
input : f[0] + '.in',
output: f[0],
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
if needs_jinja
t = custom_target(
- name,
input : source,
output : name,
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],