 971f5d6694
			
		
	
	
		971f5d6694
		
	
	
	
	
		
			
			Use uppercase for externally defined macros and lowercase for macros defined in the makefile. Also simplify generation of version.h.
		
			
				
	
	
		
			88 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| version = 24+
 | |
| 
 | |
| srcdir = .
 | |
| VPATH = $(srcdir)
 | |
| 
 | |
| PREFIX = /usr/local
 | |
| MANPREFIX = $(PREFIX)/share/man
 | |
| 
 | |
| # autoreload backend: inotify/nop
 | |
| AUTORELOAD = inotify
 | |
| 
 | |
| # enable features requiring giflib (-lgif)
 | |
| HAVE_GIFLIB = 1
 | |
| 
 | |
| # enable features requiring libexif (-lexif)
 | |
| HAVE_LIBEXIF = 1
 | |
| 
 | |
| cflags = -std=c99 -Wall -pedantic $(CFLAGS)
 | |
| cppflags = -I. $(CPPFLAGS) -D_XOPEN_SOURCE=700 -DHAVE_GIFLIB=$(HAVE_GIFLIB) \
 | |
|   -DHAVE_LIBEXIF=$(HAVE_LIBEXIF) -I/usr/include/freetype2
 | |
| 
 | |
| lib_exif_0 =
 | |
| lib_exif_1 = -lexif
 | |
| lib_gif_0 =
 | |
| lib_gif_1 = -lgif
 | |
| ldlibs = $(LDLIBS) -lImlib2 -lX11 -lXft -lfontconfig \
 | |
|   $(lib_exif_$(HAVE_LIBEXIF)) $(lib_gif_$(HAVE_GIFLIB))
 | |
| 
 | |
| objs = autoreload_$(AUTORELOAD).o commands.o image.o main.o options.o \
 | |
|   thumbs.o util.o window.o
 | |
| 
 | |
| all: sxiv
 | |
| 
 | |
| .PHONY: all clean install uninstall
 | |
| .SUFFIXES:
 | |
| .SUFFIXES: .c .o
 | |
| $(V).SILENT:
 | |
| 
 | |
| sxiv: $(objs)
 | |
| 	@echo "LINK $@"
 | |
| 	$(CC) $(LDFLAGS) -o $@ $(objs) $(ldlibs)
 | |
| 
 | |
| $(objs): Makefile sxiv.h commands.lst config.h
 | |
| options.o: version.h
 | |
| window.o: icon/data.h
 | |
| 
 | |
| .c.o:
 | |
| 	@echo "CC $@"
 | |
| 	$(CC) $(cflags) $(cppflags) -c -o $@ $<
 | |
| 
 | |
| config.h:
 | |
| 	@echo "GEN $@"
 | |
| 	cp $(srcdir)/config.def.h $@
 | |
| 
 | |
| version.h: Makefile .git/index
 | |
| 	@echo "GEN $@"
 | |
| 	v="$$(cd $(srcdir); git describe 2>/dev/null)"; \
 | |
| 	echo "#define VERSION \"$${v:-$(version)}\"" >$@
 | |
| 
 | |
| .git/index:
 | |
| 
 | |
| clean:
 | |
| 	rm -f *.o sxiv
 | |
| 
 | |
| install: all
 | |
| 	@echo "INSTALL bin/sxiv"
 | |
| 	mkdir -p $(DESTDIR)$(PREFIX)/bin
 | |
| 	cp sxiv $(DESTDIR)$(PREFIX)/bin/
 | |
| 	chmod 755 $(DESTDIR)$(PREFIX)/bin/sxiv
 | |
| 	@echo "INSTALL sxiv.1"
 | |
| 	mkdir -p $(DESTDIR)$(MANPREFIX)/man1
 | |
| 	sed "s!PREFIX!$(PREFIX)!g; s!VERSION!$(version)!g" sxiv.1 \
 | |
| 		>$(DESTDIR)$(MANPREFIX)/man1/sxiv.1
 | |
| 	chmod 644 $(DESTDIR)$(MANPREFIX)/man1/sxiv.1
 | |
| 	@echo "INSTALL share/sxiv/"
 | |
| 	mkdir -p $(DESTDIR)$(PREFIX)/share/sxiv/exec
 | |
| 	cp exec/* $(DESTDIR)$(PREFIX)/share/sxiv/exec/
 | |
| 	chmod 755 $(DESTDIR)$(PREFIX)/share/sxiv/exec/*
 | |
| 
 | |
| uninstall:
 | |
| 	@echo "REMOVE bin/sxiv"
 | |
| 	rm -f $(DESTDIR)$(PREFIX)/bin/sxiv
 | |
| 	@echo "REMOVE sxiv.1"
 | |
| 	rm -f $(DESTDIR)$(MANPREFIX)/man1/sxiv.1
 | |
| 	@echo "REMOVE share/sxiv/"
 | |
| 	rm -rf $(DESTDIR)$(PREFIX)/share/sxiv
 | |
| 
 |