Co-authored-by: Guilherme Rugai Freire <41879254+GRFreire@users.noreply.github.com> Co-authored-by: N-R-K <79544946+N-R-K@users.noreply.github.com> Co-authored-by: NRK <nrk@disroot.org> Co-authored-by: Arthur Williams <taaparthur@gmail.com> Co-authored-by: eylles <ed.ylles1997@gmail.com>
		
			
				
	
	
		
			97 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
# Include configure options
 | 
						|
ifneq (clean,$(filter clean,$(MAKECMDGOALS)))
 | 
						|
-include config.mk
 | 
						|
endif
 | 
						|
 | 
						|
# nsxiv version
 | 
						|
VERSION = 27
 | 
						|
 | 
						|
# PREFIX for install
 | 
						|
PREFIX ?= /usr/local
 | 
						|
MANPREFIX = $(PREFIX)/share/man
 | 
						|
 | 
						|
# autoreload backend: inotify/nop
 | 
						|
AUTORELOAD = inotify
 | 
						|
 | 
						|
# CFLAGS, any optimization flags goes here
 | 
						|
CFLAGS ?= -std=c99 -Wall -pedantic
 | 
						|
 | 
						|
ifeq ($(HAVE_LIBEXIF), 1)
 | 
						|
	OPTIONAL_LIBS += -lexif
 | 
						|
else
 | 
						|
	HAVE_LIBEXIF = 0
 | 
						|
endif
 | 
						|
ifeq ($(HAVE_LIBGIF), 1)
 | 
						|
	OPTIONAL_LIBS += -lgif
 | 
						|
else
 | 
						|
	HAVE_LIBGIF = 0
 | 
						|
endif
 | 
						|
 | 
						|
CPPFLAGS = -D_XOPEN_SOURCE=700 \
 | 
						|
  -DHAVE_LIBGIF=$(HAVE_LIBGIF) -DHAVE_LIBEXIF=$(HAVE_LIBEXIF) \
 | 
						|
  -I/usr/include/freetype2 -I$(PREFIX)/include/freetype2
 | 
						|
 | 
						|
LDLIBS = -lImlib2 -lX11 -lXft -lfontconfig $(OPTIONAL_LIBS)
 | 
						|
 | 
						|
OBJS = autoreload_$(AUTORELOAD).o commands.o image.o main.o options.o \
 | 
						|
  thumbs.o util.o window.o
 | 
						|
 | 
						|
.PHONY: all clean install uninstall
 | 
						|
.SUFFIXES:
 | 
						|
.SUFFIXES: .c .o
 | 
						|
 | 
						|
all: nsxiv
 | 
						|
 | 
						|
nsxiv: $(OBJS)
 | 
						|
	@echo "LINK $@"
 | 
						|
	$(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS)
 | 
						|
 | 
						|
.c.o:
 | 
						|
	@echo "CC $@"
 | 
						|
	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
 | 
						|
 | 
						|
$(OBJS): Makefile nsxiv.h commands.lst config.h config.mk
 | 
						|
options.o: version.h
 | 
						|
window.o: icon/data.h
 | 
						|
 | 
						|
config.mk:
 | 
						|
	@echo "GEN $@"
 | 
						|
	@echo "# 0 = disable, 1 = enable" > config.mk
 | 
						|
	@for lib in exif gif; do \
 | 
						|
		if echo "int main(){}" | $(CC) "-l$$lib" -o /dev/null -x c - 2>/dev/null ; then \
 | 
						|
			echo "HAVE_LIB$$lib=1" | tr '[:lower:]' '[:upper:]' >> config.mk ; \
 | 
						|
		fi \
 | 
						|
	done
 | 
						|
 | 
						|
config.h:
 | 
						|
	@echo "GEN $@"
 | 
						|
	cp config.def.h $@
 | 
						|
 | 
						|
version.h: Makefile .git/index
 | 
						|
	@echo "GEN $@"
 | 
						|
	v="$$(git describe 2>/dev/null)"; \
 | 
						|
	echo "#define VERSION \"$${v:-$(VERSION)}\"" >$@
 | 
						|
 | 
						|
clean:
 | 
						|
	$(RM) *.o nsxiv
 | 
						|
 | 
						|
install: all
 | 
						|
	@echo "INSTALL bin/nsxiv"
 | 
						|
	install -Dt $(DESTDIR)$(PREFIX)/bin nsxiv
 | 
						|
	@echo "INSTALL nsxiv.1"
 | 
						|
	mkdir -p $(DESTDIR)$(MANPREFIX)/man1
 | 
						|
	sed "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/"
 | 
						|
	install -Dt $(DESTDIR)$(PREFIX)/share/nsxiv/exec exec/*
 | 
						|
 | 
						|
uninstall:
 | 
						|
	@echo "REMOVE bin/nsxiv"
 | 
						|
	rm -f $(DESTDIR)$(PREFIX)/bin/nsxiv
 | 
						|
	@echo "REMOVE nsxiv.1"
 | 
						|
	rm -f $(DESTDIR)$(MANPREFIX)/man1/nsxiv.1
 | 
						|
	@echo "REMOVE share/nsxiv/"
 | 
						|
	rm -rf $(DESTDIR)$(PREFIX)/share/nsxiv
 | 
						|
 |