-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
45 lines (35 loc) · 1.44 KB
/
Makefile
File metadata and controls
45 lines (35 loc) · 1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Путь к директории пакета (по умолчанию ./package_simpleopc)
PACKAGE_DIR ?= ./package_simpleopc
TARGET := $(shell basename $(PACKAGE_DIR) | sed 's/^[^_]*_//')
# Путь к целевой директории для распаковки
TARGET_DIR := $(PACKAGE_DIR)/etc/$(TARGET)
SYMLINK := $(PACKAGE_DIR)/usr/bin/$(TARGET)
# Архив
ZIP_FILE := sam-lin.zip
.PHONY: link unzip clean
init:
mkdir -p $(PACKAGE_DIR)/DEBIAN
mkdir -p $(PACKAGE_DIR)/etc/$(TARGET)
mkdir -p $(PACKAGE_DIR)/lib/systemd/system
mkdir -p $(PACKAGE_DIR)/usr/bin
unzip:
@echo "Распаковка $(ZIP_FILE) в существующую директорию $(TARGET_DIR)..."
unzip -o $(ZIP_FILE) -d $(TARGET_DIR)
@echo "Распаковка завершена."
chmod +x $(TARGET_DIR)/$(TARGET)-linux
clean:
@echo "Очистка содержимого каталога $(TARGET_DIR)..."
rm -rf $(TARGET_DIR)/*
rm -rf $(SYMLINK)
@echo "Очищено."
link:
@echo "🔗 Создание symlink: $(SYMLINK) -> ../../etc/$(TARGET)/$(TARGET)-linux"
cd $(PACKAGE_DIR) && ln -sf ../../etc/$(TARGET)/$(TARGET)-linux ./usr/bin/$(TARGET)
@echo "Symlink создан."
build:
cp -r $(PACKAGE_DIR) ./package
docker build --platform linux/amd64 -t debuilder .
docker rm -f debuilder-temp 2>/dev/null || true
docker create --name debuilder-temp debuilder
docker cp debuilder-temp:/build/package.deb ./$(TARGET)_1.0.0_amd64.deb
rm -rf ./package