PREFIX=/usr GLADEPATH=$(PREFIX)/share/librecgm/gui.glade CFLAGS=-g3 -Wall -Wextra -DGLADEPATH='"$(GLADEPATH)"' OBJ=findrect.o img.o read.o main.o cam.o gui.o data.o optionallibs=$(shell pkg-config --libs $(1) 2> /dev/null) optionalcflags=$(shell pkg-config --cflags $(1) 2> /dev/null && echo '-DENABLE_$(2)' || echo 'Warning: building without $(3) due to missing one or more of $(1)' >&2) # Labels LIBS+=$(call optionallibs,freetype2 fontconfig) CFLAGS+=$(call optionalcflags,freetype2 fontconfig,LABELS,labels) # Webcam LIBS+=$(call optionallibs,libv4l2) CFLAGS+=$(call optionalcflags,libv4l2,V4L2,webcam support) # GUI LIBS+=$(call optionallibs,gtk+-3.0) CFLAGS+=$(call optionalcflags,gtk+-3.0,GUI,GUI) # Image formats (beyond PNM) LIBS+=$(call optionallibs,gdk-pixbuf-2.0) CFLAGS+=$(call optionalcflags,gdk-pixbuf-2.0,GDKPIXBUF,support for more image formats) librecgm: $(OBJ) $(CC) $^ $(LIBS) -o $@ install: librecgm gui.glade install -D -m 755 $< $(DESTDIR)$(PREFIX)/bin/$< install -D -m 644 gui.glade $(DESTDIR)$(PREFIX)/share/librecgm/gui.glade clean: rm -f librecgm $(OBJ)