summaryrefslogtreecommitdiff
path: root/raveos-theme/hyprland/theme-data/DankMaterialShell/core/Makefile
diff options
context:
space:
mode:
authornippy <you@example.com>2026-04-18 13:49:56 +0200
committernippy <you@example.com>2026-04-18 13:49:56 +0200
commit5d94c0a7d44a2255b81815a52a7056a94a39842d (patch)
tree759bdea9645c6a62f9e1e4c001f7d81cccd120d2 /raveos-theme/hyprland/theme-data/DankMaterialShell/core/Makefile
parente79cdf210b267f21a186255ce1a4d50029439d54 (diff)
downloadRaveOS-PKGBUILD-5d94c0a7d44a2255b81815a52a7056a94a39842d.tar.gz
RaveOS-PKGBUILD-5d94c0a7d44a2255b81815a52a7056a94a39842d.zip
update Raveos themes
Diffstat (limited to 'raveos-theme/hyprland/theme-data/DankMaterialShell/core/Makefile')
-rw-r--r--raveos-theme/hyprland/theme-data/DankMaterialShell/core/Makefile163
1 files changed, 163 insertions, 0 deletions
diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/core/Makefile b/raveos-theme/hyprland/theme-data/DankMaterialShell/core/Makefile
new file mode 100644
index 0000000..cad9b95
--- /dev/null
+++ b/raveos-theme/hyprland/theme-data/DankMaterialShell/core/Makefile
@@ -0,0 +1,163 @@
+BINARY_NAME=dms
+BINARY_NAME_INSTALL=dankinstall
+SOURCE_DIR=cmd/dms
+SOURCE_DIR_INSTALL=cmd/dankinstall
+BUILD_DIR=bin
+PREFIX ?= /usr/local
+INSTALL_DIR=$(PREFIX)/bin
+
+GO=go
+GOFLAGS=-ldflags="-s -w"
+
+# Version and build info
+BASE_VERSION=$(shell git describe --tags --abbrev=0 2>/dev/null | sed 's/^v//' || echo "0.0.0")
+COMMIT_COUNT=$(shell git rev-list --count HEAD 2>/dev/null || echo "0")
+COMMIT_HASH=$(shell git rev-parse --short=8 HEAD 2>/dev/null || echo "unknown")
+VERSION?=$(BASE_VERSION)+git$(COMMIT_COUNT).$(COMMIT_HASH)
+BUILD_TIME?=$(shell date -u '+%Y-%m-%d_%H:%M:%S')
+COMMIT?=$(COMMIT_HASH)
+
+BUILD_LDFLAGS=-ldflags='-s -w -X main.Version=$(VERSION) -X main.buildTime=$(BUILD_TIME) -X main.commit=$(COMMIT)'
+
+# Architecture to build for dist target (amd64, arm64, or all)
+ARCH ?= all
+
+.PHONY: all build dankinstall dist clean install install-all install-dankinstall uninstall uninstall-all uninstall-dankinstall install-config uninstall-config test fmt vet deps print-version help
+
+# Default target
+all: build
+
+# Build the main binary (dms)
+build:
+ @echo "Building $(BINARY_NAME)..."
+ @mkdir -p $(BUILD_DIR)
+ CGO_ENABLED=0 $(GO) build $(BUILD_LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME) ./$(SOURCE_DIR)
+ @echo "Build complete: $(BUILD_DIR)/$(BINARY_NAME)"
+
+dankinstall:
+ @echo "Building $(BINARY_NAME_INSTALL)..."
+ @mkdir -p $(BUILD_DIR)
+ CGO_ENABLED=0 $(GO) build $(BUILD_LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME_INSTALL) ./$(SOURCE_DIR_INSTALL)
+ @echo "Build complete: $(BUILD_DIR)/$(BINARY_NAME_INSTALL)"
+
+# Build distro binaries for amd64 and arm64 (Linux only, no update/greeter support)
+dist:
+ifeq ($(ARCH),all)
+ @echo "Building $(BINARY_NAME) for distribution (amd64 and arm64)..."
+ @mkdir -p $(BUILD_DIR)
+ @echo "Building for linux/amd64..."
+ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 $(GO) build -tags distro_binary $(BUILD_LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-linux-amd64 ./$(SOURCE_DIR)
+ @echo "Building for linux/arm64..."
+ CGO_ENABLED=0 GOOS=linux GOARCH=arm64 $(GO) build -tags distro_binary $(BUILD_LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-linux-arm64 ./$(SOURCE_DIR)
+ @echo "Distribution builds complete:"
+ @echo " $(BUILD_DIR)/$(BINARY_NAME)-linux-amd64"
+ @echo " $(BUILD_DIR)/$(BINARY_NAME)-linux-arm64"
+else
+ @echo "Building $(BINARY_NAME) for distribution ($(ARCH))..."
+ @mkdir -p $(BUILD_DIR)
+ @echo "Building for linux/$(ARCH)..."
+ CGO_ENABLED=0 GOOS=linux GOARCH=$(ARCH) $(GO) build -tags distro_binary $(BUILD_LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-linux-$(ARCH) ./$(SOURCE_DIR)
+ @echo "Distribution build complete:"
+ @echo " $(BUILD_DIR)/$(BINARY_NAME)-linux-$(ARCH)"
+endif
+
+build-all: build dankinstall
+
+install:
+ @echo "Installing $(BINARY_NAME) to $(INSTALL_DIR)..."
+ @install -D -m 755 $(BUILD_DIR)/$(BINARY_NAME) $(INSTALL_DIR)/$(BINARY_NAME)
+ @echo "Installation complete"
+
+install-all:
+ @echo "Installing $(BINARY_NAME) to $(INSTALL_DIR)..."
+ @install -D -m 755 $(BUILD_DIR)/$(BINARY_NAME) $(INSTALL_DIR)/$(BINARY_NAME)
+ @echo "Installing $(BINARY_NAME_INSTALL) to $(INSTALL_DIR)..."
+ @install -D -m 755 $(BUILD_DIR)/$(BINARY_NAME_INSTALL) $(INSTALL_DIR)/$(BINARY_NAME_INSTALL)
+ @echo "Installation complete"
+
+install-dankinstall:
+ @echo "Installing $(BINARY_NAME_INSTALL) to $(INSTALL_DIR)..."
+ @install -D -m 755 $(BUILD_DIR)/$(BINARY_NAME_INSTALL) $(INSTALL_DIR)/$(BINARY_NAME_INSTALL)
+ @echo "Installation complete"
+
+uninstall:
+ @echo "Uninstalling $(BINARY_NAME) from $(INSTALL_DIR)..."
+ @rm -f $(INSTALL_DIR)/$(BINARY_NAME)
+ @echo "Uninstall complete"
+
+uninstall-all:
+ @echo "Uninstalling $(BINARY_NAME) from $(INSTALL_DIR)..."
+ @rm -f $(INSTALL_DIR)/$(BINARY_NAME)
+ @echo "Uninstalling $(BINARY_NAME_INSTALL) from $(INSTALL_DIR)..."
+ @rm -f $(INSTALL_DIR)/$(BINARY_NAME_INSTALL)
+ @echo "Uninstall complete"
+
+uninstall-dankinstall:
+ @echo "Uninstalling $(BINARY_NAME_INSTALL) from $(INSTALL_DIR)..."
+ @rm -f $(INSTALL_DIR)/$(BINARY_NAME_INSTALL)
+ @echo "Uninstall complete"
+
+clean:
+ @echo "Cleaning build artifacts..."
+ @rm -rf $(BUILD_DIR)
+ @echo "Clean complete"
+
+test:
+ @echo "Running tests..."
+ $(GO) test -v ./...
+
+fmt:
+ @echo "Formatting Go code..."
+ $(GO) fmt ./...
+
+vet:
+ @echo "Running go vet..."
+ $(GO) vet ./...
+
+deps:
+ @echo "Updating dependencies..."
+ $(GO) mod tidy
+ $(GO) mod download
+
+dev:
+ @echo "Building $(BINARY_NAME) for development..."
+ @mkdir -p $(BUILD_DIR)
+ $(GO) build -o $(BUILD_DIR)/$(BINARY_NAME) ./$(SOURCE_DIR)
+ @echo "Development build complete: $(BUILD_DIR)/$(BINARY_NAME)"
+
+check-go:
+ @echo "Checking Go version..."
+ @go version | grep -E "go1\.(2[2-9]|[3-9][0-9])" > /dev/null || (echo "ERROR: Go 1.22 or higher required" && exit 1)
+ @echo "Go version OK"
+
+version: check-go
+ @echo "Version: $(VERSION)"
+ @echo "Build Time: $(BUILD_TIME)"
+ @echo "Commit: $(COMMIT)"
+
+print-version:
+ @echo "$(VERSION)"
+
+help:
+ @echo "Available targets:"
+ @echo " all - Build the main binary (dms) (default)"
+ @echo " build - Build the main binary (dms)"
+ @echo " dankinstall - Build dankinstall binary"
+ @echo " dist - Build dms for linux amd64/arm64 (no update/greeter)"
+ @echo " Use ARCH=amd64 or ARCH=arm64 to build only one"
+ @echo " build-all - Build both binaries"
+ @echo " install - Install dms to $(INSTALL_DIR)"
+ @echo " install-all - Install both dms and dankinstall to $(INSTALL_DIR)"
+ @echo " install-dankinstall - Install only dankinstall to $(INSTALL_DIR)"
+ @echo " uninstall - Remove dms from $(INSTALL_DIR)"
+ @echo " uninstall-all - Remove both binaries from $(INSTALL_DIR)"
+ @echo " uninstall-dankinstall - Remove only dankinstall from $(INSTALL_DIR)"
+ @echo " clean - Clean build artifacts"
+ @echo " test - Run tests"
+ @echo " fmt - Format Go code"
+ @echo " vet - Run go vet"
+ @echo " deps - Update dependencies"
+ @echo " dev - Build with debug info"
+ @echo " check-go - Check Go version compatibility"
+ @echo " version - Show version information"
+ @echo " help - Show this help message"