53 lines
1.2 KiB
Makefile
53 lines
1.2 KiB
Makefile
SCANNER := wayland-scanner
|
|
|
|
PREFIX=/usr/local
|
|
BINDIR=$(PREFIX)/bin
|
|
DATADIR=$(PREFIX)/share
|
|
MANDIR=$(DATADIR)/man
|
|
|
|
CFLAGS=-g -Wall -Werror -Wextra -Wpedantic -Wno-unused-parameter $\
|
|
-Wno-overlength-strings -Wformat-security -Wformat -Wunused-result $\
|
|
-I protocol $\
|
|
$(shell pkg-config --cflags wayland-client) $\
|
|
$(shell guile-config compile)
|
|
LIBS=-lrt $\
|
|
$(shell pkg-config --libs wayland-client) $\
|
|
$(shell guile-config link)
|
|
OBJ=src/riverguile.o $\
|
|
src/call-layout-demand-handler.o $\
|
|
src/call-user-command-handler.o $\
|
|
src/load-script.o $\
|
|
protocol/river-layout-v3.o
|
|
GEN=protocol/river-layout-v3.c protocol/river-layout-v3.h
|
|
|
|
all: riverguile
|
|
|
|
riverguile: $(OBJ)
|
|
$(CC) $(LDFLAGS) -g -o $@ $(OBJ) $(LIBS)
|
|
|
|
$(OBJ): $(GEN)
|
|
|
|
%.c: %.xml
|
|
$(SCANNER) private-code < $< > $@
|
|
|
|
%.h: %.xml
|
|
$(SCANNER) client-header < $< > $@
|
|
|
|
|
|
install: riverguile
|
|
install -D riverguile $(DESTDIR)$(BINDIR)/riverguile
|
|
install -m 644 -D doc/riverguile.1 $(DESTDIR)$(MANDIR)/man1/riverguile.1
|
|
|
|
uninstall:
|
|
$(RM) $(DESTDIR)$(BINDIR)/riverguile
|
|
$(RM) $(DESTDIR)$(MANDIR)/man1/riverguile.1
|
|
|
|
clean:
|
|
$(RM) riverguile
|
|
$(RM) $(GEN)
|
|
$(RM) $(OBJ)
|
|
$(RM) $(IMG)
|
|
|
|
.PHONY: clean install uninstall all
|
|
|