|
|
@@ -1,42 +1,72 @@ |
|
|
|
# Requires GNU make 3.80 or later |
|
|
|
# Works best with GNU make 3.80 or later |
|
|
|
|
|
|
|
VERSION := git-20171006 |
|
|
|
VERSION = git-20171012 |
|
|
|
|
|
|
|
all: sxiv |
|
|
|
srcdir = . |
|
|
|
|
|
|
|
include config.mk |
|
|
|
PREFIX = /usr/local |
|
|
|
MANPREFIX = $(PREFIX)/share/man |
|
|
|
|
|
|
|
override CPPFLAGS += -I. -DVERSION=\"$(VERSION)\" -DHAVE_GIFLIB=$(HAVE_GIFLIB) -DHAVE_LIBEXIF=$(HAVE_LIBEXIF) |
|
|
|
CC ?= gcc |
|
|
|
CFLAGS += -std=c99 -Wall -pedantic |
|
|
|
CPPFLAGS += -I/usr/include/freetype2 -D_XOPEN_SOURCE=700 |
|
|
|
DEPFLAGS = -MMD -MP |
|
|
|
LDFLAGS += |
|
|
|
|
|
|
|
LDLIBS := -lImlib2 -lX11 -lXft |
|
|
|
# autoreload backend: inotify/nop |
|
|
|
AUTORELOAD = inotify |
|
|
|
|
|
|
|
ifneq ($(HAVE_GIFLIB),0) |
|
|
|
LDLIBS += -lgif |
|
|
|
endif |
|
|
|
ifneq ($(HAVE_LIBEXIF),0) |
|
|
|
LDLIBS += -lexif |
|
|
|
endif |
|
|
|
# enable features requiring giflib (-lgif) |
|
|
|
HAVE_GIFLIB = 1 |
|
|
|
|
|
|
|
SRC := autoreload_$(AUTORELOAD).c commands.c image.c main.c options.c thumbs.c util.c window.c |
|
|
|
DEP := $(SRC:.c=.d) |
|
|
|
OBJ := $(SRC:.c=.o) |
|
|
|
# enable features requiring libexif (-lexif) |
|
|
|
HAVE_LIBEXIF = 1 |
|
|
|
|
|
|
|
$(OBJ): config.h Makefile |
|
|
|
REQ_CPPFLAGS = -I. -DVERSION=\"$(VERSION)\" \ |
|
|
|
-DHAVE_GIFLIB=$(HAVE_GIFLIB) -DHAVE_LIBEXIF=$(HAVE_LIBEXIF) |
|
|
|
ALL_CPPFLAGS = $(REQ_CPPFLAGS) $(CPPFLAGS) |
|
|
|
|
|
|
|
%.o: %.c |
|
|
|
@echo "CC $@" |
|
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) $(DEPFLAGS) -c -o $@ $< |
|
|
|
LIB_EXIF_0 = |
|
|
|
LIB_EXIF_1 = -lexif |
|
|
|
LIB_GIF_0 = |
|
|
|
LIB_GIF_1 = -lgif |
|
|
|
LDLIBS = -lImlib2 -lX11 -lXft \ |
|
|
|
$(LIB_EXIF_$(HAVE_LIBEXIF)) $(LIB_GIF_$(HAVE_GIFLIB)) |
|
|
|
|
|
|
|
config.h: | config.def.h |
|
|
|
@echo "GEN $@" |
|
|
|
cp $| $@ |
|
|
|
-include config.mk |
|
|
|
|
|
|
|
SRCS = autoreload_$(AUTORELOAD).c commands.c image.c main.c options.c \ |
|
|
|
thumbs.c util.c window.c |
|
|
|
OBJS = $(SRCS:.c=.o) |
|
|
|
DEPS = $(SRCS:.c=.d) |
|
|
|
|
|
|
|
all: sxiv |
|
|
|
|
|
|
|
sxiv: $(OBJ) |
|
|
|
.PHONY: all clean install uninstall |
|
|
|
.SUFFIXES: |
|
|
|
.SUFFIXES: .c .o |
|
|
|
$(V).SILENT: |
|
|
|
|
|
|
|
sxiv: $(OBJS) |
|
|
|
@echo "LINK $@" |
|
|
|
$(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS) |
|
|
|
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS) |
|
|
|
|
|
|
|
$(OBJS): config.h $(srcdir)/Makefile |
|
|
|
|
|
|
|
.c.o: |
|
|
|
@echo "CC $@" |
|
|
|
$(CC) $(ALL_CPPFLAGS) $(DEPFLAGS) $(CFLAGS) -c -o $@ $< |
|
|
|
|
|
|
|
%.o: $(srcdir)/%.c |
|
|
|
@echo "CC $@" |
|
|
|
$(CC) $(ALL_CPPFLAGS) $(DEPFLAGS) $(CFLAGS) -c -o $@ $(srcdir)/$(@:.o=.c) |
|
|
|
|
|
|
|
config.h: |
|
|
|
@echo "GEN $@" |
|
|
|
cp $(srcdir)/config.def.h $@ |
|
|
|
|
|
|
|
clean: |
|
|
|
rm -f $(OBJ) $(DEP) sxiv |
|
|
|
rm -f $(OBJS) $(DEPS) sxiv |
|
|
|
|
|
|
|
install: all |
|
|
|
@echo "INSTALL bin/sxiv" |
|
|
@@ -45,7 +75,8 @@ install: all |
|
|
|
chmod 755 $(DESTDIR)$(PREFIX)/bin/sxiv |
|
|
|
@echo "INSTALL sxiv.1" |
|
|
|
mkdir -p $(DESTDIR)$(MANPREFIX)/man1 |
|
|
|
sed "s!PREFIX!$(PREFIX)!g; s!VERSION!$(VERSION)!g" sxiv.1 > $(DESTDIR)$(MANPREFIX)/man1/sxiv.1 |
|
|
|
sed "s!PREFIX!$(PREFIX)!g; s!VERSION!$(VERSION)!g" sxiv.1 \ |
|
|
|
>$(DESTDIR)$(MANPREFIX)/man1/sxiv.1 |
|
|
|
chmod 644 $(DESTDIR)$(MANPREFIX)/man1/sxiv.1 |
|
|
|
@echo "INSTALL share/sxiv/" |
|
|
|
mkdir -p $(DESTDIR)$(PREFIX)/share/sxiv/exec |
|
|
@@ -60,9 +91,5 @@ uninstall: |
|
|
|
@echo "REMOVE share/sxiv/" |
|
|
|
rm -rf $(DESTDIR)$(PREFIX)/share/sxiv |
|
|
|
|
|
|
|
.PHONY: all clean install uninstall |
|
|
|
.SUFFIXES: |
|
|
|
$(V).SILENT: |
|
|
|
|
|
|
|
-include $(DEP) |
|
|
|
|