sxiv

simple X image viewer
git clone git://git.suckless.org/sxiv
Log | Files | Refs | LICENSE

commit f55d9f4283f7133ab5a137fc04ee19d1df62fafb
parent 6cee58117aedb00f250fce27a343d39708197257
Author: Bert M√ľnnich <ber.t@posteo.de>
Date:   Sun,  2 Nov 2014 19:32:08 +0100

Use and depend on GNU make...

- Use non-POSIX :=,?=,+= macro assignments, fixes issue #97
- No optimization level set in CFLAGS, expected to be set in environment
- Automatic header dependency tracking with one .d file per compilation unit
- Better fix for issue #181

Diffstat:
.gitignore | 2+-
Makefile | 38++++++++++++++++----------------------
2 files changed, 17 insertions(+), 23 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -1,4 +1,4 @@ -.depend config.h +*.d *.o sxiv diff --git a/Makefile b/Makefile @@ -1,32 +1,26 @@ -VERSION = git-20141102 +VERSION := git-20141102 -PREFIX = /usr/local -MANPREFIX = $(PREFIX)/share/man +PREFIX := /usr/local +MANPREFIX := $(PREFIX)/share/man -CC = gcc -CFLAGS = -std=c99 -Wall -pedantic -O2 -CPPFLAGS = -I$(PREFIX)/include -D_XOPEN_SOURCE=500 -DHAVE_LIBEXIF -DHAVE_GIFLIB -LDFLAGS = -L$(PREFIX)/lib -LIBS = -lX11 -lImlib2 -lexif -lgif +CC ?= gcc +CFLAGS += -std=c99 -Wall -pedantic +CPPFLAGS += -I$(PREFIX)/include -D_XOPEN_SOURCE=500 -DHAVE_LIBEXIF -DHAVE_GIFLIB +LDFLAGS += -L$(PREFIX)/lib +LIBS := -lX11 -lImlib2 -lexif -lgif -SRC = commands.c image.c main.c options.c thumbs.c util.c window.c -OBJ = $(SRC:.c=.o) +SRC := commands.c image.c main.c options.c thumbs.c util.c window.c +DEP := $(SRC:.c=.d) +OBJ := $(SRC:.c=.o) -all: sxiv +all: config.h sxiv $(OBJ): Makefile -$(OBJ) .depend: config.h -depend: .depend +-include $(DEP) -.depend: $(SRC) - rm -f ./.depend - $(CC) $(CFLAGS) -MM $^ >./.depend - --include .depend - -.c.o: - $(CC) $(CFLAGS) $(CPPFLAGS) -DVERSION=\"$(VERSION)\" -c -o $@ $< +%.o: %.c + $(CC) $(CFLAGS) $(CPPFLAGS) -DVERSION=\"$(VERSION)\" -MMD -c -o $@ $< config.h: cp config.def.h $@ @@ -35,7 +29,7 @@ sxiv: $(OBJ) $(CC) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) clean: - rm -f $(OBJ) sxiv + rm -f $(OBJ) $(DEP) sxiv install: all mkdir -p $(DESTDIR)$(PREFIX)/bin