diff options
| author | stkhan <personal@slickd.xyz> | 2022-06-20 19:54:29 +0000 |
|---|---|---|
| committer | stkhan <personal@slickd.xyz> | 2022-06-20 19:54:29 +0000 |
| commit | 4c40a4dc245f7715f4891ed02d71475628e7a959 (patch) | |
| tree | fa52419490b5a0d89d746f6e3a0b0c1e675b7726 /utils/nsxiv/Makefile | |
| parent | 513b0e238b98f72a01d740a0bd99a3739918645c (diff) | |
new directory structure
Diffstat (limited to 'utils/nsxiv/Makefile')
| -rw-r--r-- | utils/nsxiv/Makefile | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/utils/nsxiv/Makefile b/utils/nsxiv/Makefile new file mode 100644 index 0000000..1e51e69 --- /dev/null +++ b/utils/nsxiv/Makefile @@ -0,0 +1,132 @@ +include ../../config.mk +.POSIX: + +# nsxiv version +VERSION = 29 + +# PREFIX for install +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 + ln -f $(DESTDIR)$(PREFIX)/bin/nsxiv $(DESTDIR)$(PREFIX)/bin/sxiv + @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) + |