Files
ssdd/Makefile
T

58 lines
1.3 KiB
Makefile

# Compiler
CC = gcc
# Compiler and optimization flags
CFLAGS ?= -O2 -Wall -Wextra
GTK_CFLAGS := $(shell pkg-config --cflags gtk4)
GTK_LIBS := $(shell pkg-config --libs gtk4)
VERSION_FLAGS = -DGTK_VERSION_MAX_ALLOWED=GTK_VERSION_4_0 \
-DGTK_VERSION_MIN_REQUIRED=GTK_VERSION_4_0 \
-DGDK_VERSION_MAX_ALLOWED=GDK_VERSION_4_0 \
-DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_4_0
# Source files
SRC = ssdd.c resources.c
# Output executable
TARGET = ssdd
# Resource files
RESOURCE_XML = resources.gresource.xml
RESOURCE_C = resources.c
RESOURCE_FILES = ssdd-icon.png
# Installation directories
PREFIX ?= /usr/local
BINDIR = $(PREFIX)/bin
DATADIR = $(PREFIX)/share/ssdd
# Default target
all: $(TARGET)
# Build the target
$(TARGET): $(SRC)
$(CC) $(CPPFLAGS) $(CFLAGS) $(GTK_CFLAGS) $(VERSION_FLAGS) \
-o $(TARGET) $(SRC) $(LDFLAGS) $(GTK_LIBS)
# Compile resources
$(RESOURCE_C): $(RESOURCE_XML) $(RESOURCE_FILES)
glib-compile-resources $(RESOURCE_XML) --generate-source --target=$(RESOURCE_C)
# Install target
install: $(TARGET)
install -d $(DESTDIR)$(BINDIR)
install -m 755 $(TARGET) $(DESTDIR)$(BINDIR)
install -d $(DESTDIR)$(DATADIR)
install -m 644 $(RESOURCE_XML) $(DESTDIR)$(DATADIR)
# Uninstall target
uninstall:
rm -f $(DESTDIR)$(BINDIR)/$(TARGET)
rm -rf $(DESTDIR)$(DATADIR)
# Clean target
clean:
rm -f $(TARGET) $(RESOURCE_C)
.PHONY: all clean install uninstall