CC ?= gcc PKGCONFIG = $(shell which pkg-config) CFLAGS = $(shell $(PKGCONFIG) --cflags gtk4) LIBS = $(shell $(PKGCONFIG) --libs gtk4) GLIB_COMPILE_RESOURCES = $(shell $(PKGCONFIG) --variable=glib_compile_resources gio-2.0) SRC = exampleapp.c exampleappwin.c main.c BUILT_SRC = resources.c OBJS = $(BUILT_SRC:.c=.o) $(SRC:.c=.o) all: exampleapp resources.c: exampleapp.gresource.xml window.ui $(GLIB_COMPILE_RESOURCES) exampleapp.gresource.xml --target=$@ --sourcedir=. --generate-source %.o: %.c $(CC) -c -o $(@F) $(CFLAGS) $< exampleapp: $(OBJS) $(CC) -o $(@F) $(OBJS) $(LIBS) clean: rm -f $(BUILT_SRC) rm -f $(OBJS) rm -f exampleapp