summaryrefslogtreecommitdiff
path: root/nsxiv/Makefile
diff options
context:
space:
mode:
authorstkhan <personal@slickd.xyz>2022-05-05 17:32:35 +0000
committerstkhan <personal@slickd.xyz>2022-05-05 17:32:35 +0000
commit42966e3e531b8e46e4ab31480d45aa7a141f19ce (patch)
tree9a5a195e95bed96abb6601992d4e9e9a9634c300 /nsxiv/Makefile
parent2d4cdb2e921b9ecf74d7569b3e505754d483ef1a (diff)
added config files, and nsxiv
Diffstat (limited to 'nsxiv/Makefile')
-rw-r--r--nsxiv/Makefile131
1 files changed, 131 insertions, 0 deletions
diff --git a/nsxiv/Makefile b/nsxiv/Makefile
new file mode 100644
index 0000000..51303c9
--- /dev/null
+++ b/nsxiv/Makefile
@@ -0,0 +1,131 @@
+.POSIX:
+
+# nsxiv version
+VERSION = 29
+
+# PREFIX for install
+PREFIX = /usr/local
+MANPREFIX = $(PREFIX)/share/man
+EGPREFIX = $(PREFIX)/share/doc/nsxiv/examples
+
+# default value for optional dependencies. 1 = enabled, 0 = disabled
+OPT_DEP_DEFAULT = 1
+
+# autoreload backend: 1 = inotify, 0 = none
+HAVE_INOTIFY = $(OPT_DEP_DEFAULT)
+
+# optional dependencies, see README for more info
+HAVE_LIBFONTS = $(OPT_DEP_DEFAULT)
+HAVE_LIBGIF = $(OPT_DEP_DEFAULT)
+HAVE_LIBEXIF = $(OPT_DEP_DEFAULT)
+HAVE_LIBWEBP = $(OPT_DEP_DEFAULT)
+
+# CFLAGS, any optimization flags goes here
+CFLAGS = -std=c99 -Wall -pedantic
+
+# icons that will be installed via `make icon`
+ICONS = 16x16.png 32x32.png 48x48.png 64x64.png 128x128.png
+
+inc_fonts_0 =
+inc_fonts_1 = -I/usr/include/freetype2 -I$(PREFIX)/include/freetype2
+
+CPPFLAGS = -D_XOPEN_SOURCE=700 \
+ -DHAVE_LIBGIF=$(HAVE_LIBGIF) -DHAVE_LIBEXIF=$(HAVE_LIBEXIF) \
+ -DHAVE_LIBWEBP=$(HAVE_LIBWEBP) -DHAVE_LIBFONTS=$(HAVE_LIBFONTS) \
+ -DHAVE_INOTIFY=$(HAVE_INOTIFY) $(inc_fonts_$(HAVE_LIBFONTS))
+
+lib_fonts_0 =
+lib_fonts_1 = -lXft -lfontconfig
+lib_exif_0 =
+lib_exif_1 = -lexif
+lib_gif_0 =
+lib_gif_1 = -lgif
+lib_webp_0 =
+lib_webp_1 = -lwebpdemux -lwebp
+
+NSXIV_LDLIBS = -lImlib2 -lX11 \
+ $(lib_exif_$(HAVE_LIBEXIF)) $(lib_gif_$(HAVE_LIBGIF)) \
+ $(lib_webp_$(HAVE_LIBWEBP)) $(lib_fonts_$(HAVE_LIBFONTS))
+
+OBJS = autoreload.o commands.o image.o main.o options.o \
+ thumbs.o util.o window.o
+
+.SUFFIXES:
+.SUFFIXES: .c .o
+
+all: nsxiv
+c: clean
+nsxiv: $(OBJS)
+ @echo "LINK $@"
+ $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS) $(NSXIV_LDLIBS)
+
+.c.o:
+ @echo "CC $@"
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
+
+$(OBJS): Makefile nsxiv.h config.h commands.h
+options.o: version.h
+window.o: icon/data.h
+
+config.h:
+ @echo "GEN $@"
+ cp config.def.h $@
+
+version.h: Makefile .git/index
+ @echo "GEN $@"
+ v="$$(git describe 2>/dev/null || true)"; \
+ echo "#define VERSION \"$${v:-$(VERSION)}\"" >$@
+
+.git/index:
+
+clean:
+ rm -f *.o nsxiv version.h
+
+install-all: install install-desktop install-icon
+
+install-desktop:
+ @echo "INSTALL nsxiv.desktop"
+ mkdir -p $(DESTDIR)$(PREFIX)/share/applications
+ cp nsxiv.desktop $(DESTDIR)$(PREFIX)/share/applications
+
+install-icon:
+ @echo "INSTALL icon"
+ for f in $(ICONS); do \
+ dir="$(DESTDIR)$(PREFIX)/share/icons/hicolor/$${f%.png}/apps"; \
+ mkdir -p "$$dir"; \
+ cp "icon/$$f" "$$dir/nsxiv.png"; \
+ chmod 644 "$$dir/nsxiv.png"; \
+ done
+
+uninstall-icon:
+ @echo "REMOVE icon"
+ for f in $(ICONS); do \
+ dir="$(DESTDIR)$(PREFIX)/share/icons/hicolor/$${f%.png}/apps"; \
+ rm -f "$$dir/nsxiv.png"; \
+ done
+
+install: all
+ @echo "INSTALL bin/nsxiv"
+ mkdir -p $(DESTDIR)$(PREFIX)/bin
+ cp nsxiv $(DESTDIR)$(PREFIX)/bin/
+ chmod 755 $(DESTDIR)$(PREFIX)/bin/nsxiv
+ @echo "INSTALL nsxiv.1"
+ mkdir -p $(DESTDIR)$(MANPREFIX)/man1
+ sed "s!EGPREFIX!$(EGPREFIX)!g; s!PREFIX!$(PREFIX)!g; s!VERSION!$(VERSION)!g" nsxiv.1 \
+ >$(DESTDIR)$(MANPREFIX)/man1/nsxiv.1
+ chmod 644 $(DESTDIR)$(MANPREFIX)/man1/nsxiv.1
+ @echo "INSTALL share/nsxiv/"
+ mkdir -p $(DESTDIR)$(EGPREFIX)
+ cp examples/* $(DESTDIR)$(EGPREFIX)
+ chmod 755 $(DESTDIR)$(EGPREFIX)/*
+
+uninstall: uninstall-icon
+ @echo "REMOVE bin/nsxiv"
+ rm -f $(DESTDIR)$(PREFIX)/bin/nsxiv
+ @echo "REMOVE nsxiv.1"
+ rm -f $(DESTDIR)$(MANPREFIX)/man1/nsxiv.1
+ @echo "REMOVE nsxiv.desktop"
+ rm -f $(DESTDIR)$(PREFIX)/share/applications/nsxiv.desktop
+ @echo "REMOVE share/nsxiv/"
+ rm -rf $(DESTDIR)$(EGPREFIX)
+