Компилятор Vala, valac
, имеет аргумент --output
для именования сгенерированного двоичного файла. Например:
valac my_source_file.vala --output myprogram
Используйте valac --help
, чтобы найти дополнительные параметры компилятора.
Простой Makefile
может быть:
sources = $(wildcard src/*.vala)
myprogram:
	valac $(sources) --output myprogram
Сохраните это как Makefile
в каталоге проекта и введите команду make
или make myprogram
, и у вас будет собран двоичный файл myprogram
. Есть несколько вещей, на которые следует обратить внимание:
- Вкладки используются для отступов, в случае если это не так, как в примере
- Вам потребуется удалить выходной файл, чтобы восстановить это когда вы вносите какие-либо изменения в исходные файлы
- Подстановочный знак используется для включения всех исходных файлов Vala в каталог
src
Многие новые проекты Vala используют Meson build system , потому что он очень быстрый и имеет более чистый синтаксис. С помощью Meson простой файл meson.build
может быть:
project('myprogram project', 'vala', 'c')
dependencies = [
dependency('glib-2.0'),
dependency('gobject-2.0'),
]
sources = []
subdir('src')
executable('myprogram', sources, dependencies: dependencies)
Сохраните его в каталоге проекта, а затем в каталоге src
файл meson.build
, который явно перечисляет источник files:
sources += files(
'a.vala',
'b.vala',
)
Обратите внимание, что subdir()
использует файл meson.build
в каталоге src
для добавления исходных файлов в переменную sources
.
Для создания проекта Сначала настройте каталог сборки. Сделайте это из каталога проекта:
meson setup builddir
Затем соберите проект:
ninja -C builddir
Возможно, вам придется использовать ninja-build
для дистрибутивов на основе Red Hat, таких как Fedora. Исполняемый файл myprogram
находится в builddir
.
Если вы измените исходный файл, ninja -C builddir
будет перестроен без необходимости что-либо удалять.
По мере роста вашего проекта обнаружит, что Meson гораздо более управляем, чем использование Makefiles.