summaryrefslogtreecommitdiffstats
path: root/Makefile
blob: ea18ed1ac492bb2417ac2851cc7fb776f2b93b8f (plain) (blame)
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
PKG_CONFIG ?= pkg-config
TARGET=xlnch
PREFIX?=/usr/local
MANUALS=$(PREFIX)/share/man
SRC=*.c
CC=gcc
CFLAGS=-Wall $(shell $(PKG_CONFIG) --cflags gtk4)
REL_FLAGS=-O3
DBG_FLAGS=-Wall -g3
LIBS=$(shell $(PKG_CONFIG) --libs gtk4)

make: $(SRC)
	$(CC) $(REL_FLAGS) $(CFLAGS) -o $(TARGET) $^ $(LIBS)

debug: $(SRC)
	$(CC) $(DBG_FLAGS) -fsanitize=address $(CFLAGS) -o $(TARGET) $^ $(LIBS)

noasan: $(SRC)
	$(CC) $(DBG_FLAGS) $(CFLAGS) -o $(TARGET) $^ $(LIBS)

docs:
	scdoc < man/xlnch.1.scd > man/xlnch.1

.PHONY: clean

clean:
	rm -f *.o
	rm -f $(TARGET)

install: $(TARGET)
	mkdir -p $(PREFIX)/bin $(MANUALS)/man1
	@cp -v $(TARGET) $(PREFIX)/bin/$(TARGET)
	@install -v -m644 man/xlnch.1 $(MANUALS)/man1/xlnch.1


uninstall:
	@rm -v $(PREFIX)/bin/$(TARGET)
	@rm -v $(MANUALS)/man1/xlnch.1