nsxiv/Makefile
Bert Münnich f55d9f4283 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
2014-11-02 22:42:59 +01:00

49 lines
1.2 KiB
Makefile

VERSION := git-20141102
PREFIX := /usr/local
MANPREFIX := $(PREFIX)/share/man
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
DEP := $(SRC:.c=.d)
OBJ := $(SRC:.c=.o)
all: config.h sxiv
$(OBJ): Makefile
-include $(DEP)
%.o: %.c
$(CC) $(CFLAGS) $(CPPFLAGS) -DVERSION=\"$(VERSION)\" -MMD -c -o $@ $<
config.h:
cp config.def.h $@
sxiv: $(OBJ)
$(CC) $(LDFLAGS) -o $@ $(OBJ) $(LIBS)
clean:
rm -f $(OBJ) $(DEP) sxiv
install: all
mkdir -p $(DESTDIR)$(PREFIX)/bin
cp sxiv $(DESTDIR)$(PREFIX)/bin/
chmod 755 $(DESTDIR)$(PREFIX)/bin/sxiv
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
mkdir -p $(DESTDIR)$(PREFIX)/share/sxiv/exec
cp exec/* $(DESTDIR)$(PREFIX)/share/sxiv/exec/
chmod 755 $(DESTDIR)$(PREFIX)/share/sxiv/exec/*
uninstall:
rm -f $(DESTDIR)$(PREFIX)/bin/sxiv
rm -f $(DESTDIR)$(MANPREFIX)/man1/sxiv.1
rm -rf $(DESTDIR)$(PREFIX)/share/sxiv