A Simple X Image Viewer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

96 lines
2.1 KiB

  1. # Works best with GNU make 3.80 or later
  2. VERSION = git-20171012
  3. srcdir = .
  4. PREFIX = /usr/local
  5. MANPREFIX = $(PREFIX)/share/man
  6. CC ?= gcc
  7. CFLAGS += -std=c99 -Wall -pedantic
  8. CPPFLAGS += -I/usr/include/freetype2 -D_XOPEN_SOURCE=700
  9. DEPFLAGS = -MMD -MP
  10. LDFLAGS +=
  11. # autoreload backend: inotify/nop
  12. AUTORELOAD = inotify
  13. # enable features requiring giflib (-lgif)
  14. HAVE_GIFLIB = 1
  15. # enable features requiring libexif (-lexif)
  16. HAVE_LIBEXIF = 1
  17. REQ_CPPFLAGS = -I. -DVERSION=\"$(VERSION)\" \
  18. -DHAVE_GIFLIB=$(HAVE_GIFLIB) -DHAVE_LIBEXIF=$(HAVE_LIBEXIF)
  19. ALL_CPPFLAGS = $(REQ_CPPFLAGS) $(CPPFLAGS)
  20. LIB_EXIF_0 =
  21. LIB_EXIF_1 = -lexif
  22. LIB_GIF_0 =
  23. LIB_GIF_1 = -lgif
  24. LDLIBS = -lImlib2 -lX11 -lXft \
  25. $(LIB_EXIF_$(HAVE_LIBEXIF)) $(LIB_GIF_$(HAVE_GIFLIB))
  26. -include config.mk
  27. SRCS = autoreload_$(AUTORELOAD).c commands.c image.c main.c options.c \
  28. thumbs.c util.c window.c
  29. OBJS = $(SRCS:.c=.o)
  30. DEPS = $(SRCS:.c=.d)
  31. all: sxiv
  32. .PHONY: all clean install uninstall
  33. .SUFFIXES:
  34. .SUFFIXES: .c .o
  35. $(V).SILENT:
  36. sxiv: $(OBJS)
  37. @echo "LINK $@"
  38. $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
  39. $(OBJS): config.h $(srcdir)/Makefile
  40. .c.o:
  41. @echo "CC $@"
  42. $(CC) $(ALL_CPPFLAGS) $(DEPFLAGS) $(CFLAGS) -c -o $@ $<
  43. %.o: $(srcdir)/%.c
  44. @echo "CC $@"
  45. $(CC) $(ALL_CPPFLAGS) $(DEPFLAGS) $(CFLAGS) -c -o $@ $(srcdir)/$(@:.o=.c)
  46. config.h:
  47. @echo "GEN $@"
  48. cp $(srcdir)/config.def.h $@
  49. clean:
  50. rm -f $(OBJS) $(DEPS) sxiv
  51. install: all
  52. @echo "INSTALL bin/sxiv"
  53. mkdir -p $(DESTDIR)$(PREFIX)/bin
  54. cp sxiv $(DESTDIR)$(PREFIX)/bin/
  55. chmod 755 $(DESTDIR)$(PREFIX)/bin/sxiv
  56. @echo "INSTALL sxiv.1"
  57. mkdir -p $(DESTDIR)$(MANPREFIX)/man1
  58. sed "s!PREFIX!$(PREFIX)!g; s!VERSION!$(VERSION)!g" sxiv.1 \
  59. >$(DESTDIR)$(MANPREFIX)/man1/sxiv.1
  60. chmod 644 $(DESTDIR)$(MANPREFIX)/man1/sxiv.1
  61. @echo "INSTALL share/sxiv/"
  62. mkdir -p $(DESTDIR)$(PREFIX)/share/sxiv/exec
  63. cp exec/* $(DESTDIR)$(PREFIX)/share/sxiv/exec/
  64. chmod 755 $(DESTDIR)$(PREFIX)/share/sxiv/exec/*
  65. uninstall:
  66. @echo "REMOVE bin/sxiv"
  67. rm -f $(DESTDIR)$(PREFIX)/bin/sxiv
  68. @echo "REMOVE sxiv.1"
  69. rm -f $(DESTDIR)$(MANPREFIX)/man1/sxiv.1
  70. @echo "REMOVE share/sxiv/"
  71. rm -rf $(DESTDIR)$(PREFIX)/share/sxiv
  72. -include $(DEP)