Перейти к содержанию

Компиляция из исходного кода

Для компиляции потребуется Go 1.23.6 и выше.

git clone https://git.axenov.dev/IPTV/iptvc.git
cd iptvc
make linux
# или make help для получения справки по рецептам

Доступные рецепты Makefile

Команда Назначение
make linux Сборка под Linux (amd64 по умолчанию)
make win Сборка под Windows
make darwin Сборка под macOS
make release Сборка под все платформы (linux/windows/darwin × amd64/arm64)
make test Запуск всех тестов
make clear Удаление скомпилированных бинарников
make image Сборка Docker-образа для текущей платформы
make image-all Сборка и отправка multi-arch манифеста в registry
make help Вывод списка доступных рецептов

Управление архитектурой

Архитектура целевой платформы задаётся переменной GOARCH:

make darwin GOARCH=arm64    # macOS на Apple Silicon
make linux GOARCH=arm64     # Linux ARM (Raspberry Pi и т.п.)

Результат

Скомпилированные бинарники и ZIP-архивы помещаются в директорию bin/:

bin/
├── linux_amd64/iptvc       # или linux_arm64/
├── linux_amd64.zip
├── windows_amd64/iptvc.exe # или windows_arm64/
├── windows_amd64.zip
├── darwin_amd64/iptvc      # или darwin_arm64/
└── darwin_amd64.zip

Сборка без Make

Можно скомпилировать напрямую через go build:

go build -o iptvc .
go build -trimpath -ldflags="-s -w" -o iptvc .