diff options
| author | nippy <you@example.com> | 2026-04-18 13:49:56 +0200 |
|---|---|---|
| committer | nippy <you@example.com> | 2026-04-18 13:49:56 +0200 |
| commit | 5d94c0a7d44a2255b81815a52a7056a94a39842d (patch) | |
| tree | 759bdea9645c6a62f9e1e4c001f7d81cccd120d2 /raveos-theme/hyprland/theme-data/DankMaterialShell/core/Makefile | |
| parent | e79cdf210b267f21a186255ce1a4d50029439d54 (diff) | |
| download | RaveOS-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/Makefile | 163 |
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" |