--- title: Компиляция icon: material/cog tags: ["iptvc", "сборка"] --- # Компиляция из исходного кода Для компиляции потребуется [Go](https://go.dev/dl/) 1.23.6 и выше. ```bash 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 clean` | Удаление скомпилированных бинарников | | `make help` | Вывод списка доступных рецептов | ## Управление архитектурой Архитектура целевой платформы задаётся переменной `GOARCH`: ```bash 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`: ```bash go build -o iptvc . go build -trimpath -ldflags="-s -w" -o iptvc . ```