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.
 
 
 
 
 
 

88 lines
2.0 KiB

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