34 lines
896 B
Makefile
34 lines
896 B
Makefile
CC ?= gcc
|
|
CFLAGS := -Wall -Wextra -O2 $(shell pkg-config --cflags wayland-client 2>/dev/null)
|
|
LDFLAGS := $(shell pkg-config --libs wayland-client 2>/dev/null)
|
|
|
|
# Fallback if pkg-config is unavailable or returns nothing.
|
|
ifeq ($(LDFLAGS),)
|
|
LDFLAGS := -lwayland-client -lm
|
|
endif
|
|
|
|
LIB_SRC := waymini.c xdg-shell-client-protocol.c
|
|
LIB_OBJ := $(LIB_SRC:.c=.o)
|
|
|
|
.PHONY: all clean
|
|
|
|
all: libwaymini.a example waymini
|
|
|
|
libwaymini.a: $(LIB_OBJ)
|
|
ar rcs $@ $^
|
|
|
|
example: example.c libwaymini.a
|
|
$(CC) $(CFLAGS) -o $@ example.c -L. -lwaymini $(LDFLAGS)
|
|
|
|
waymini: waymini_standalone.c waymini.c xdg-shell-client-protocol.c
|
|
$(CC) $(CFLAGS) -o $@ waymini_standalone.c waymini.c xdg-shell-client-protocol.c $(LDFLAGS)
|
|
|
|
%.o: %.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
clean:
|
|
rm -f $(LIB_OBJ) libwaymini.a example waymini
|
|
|
|
xdg-shell-client-protocol.c xdg-shell-client-protocol.h: gen-protocols.sh
|
|
bash gen-protocols.sh
|