Krolyxon
Commit 32a6520

Branches

Refs →

nsxivMakefile

68 lines · 1.6 KB · Makefile

1VERSION = git-20110912
2
3CC = gcc
4CFLAGS = -Wall -pedantic -O2
5LDFLAGS =
6LIBS = -lX11 -lImlib2
7
8XFLAGS =
9XLIBS =
10
11DESTDIR =
12PREFIX = /usr/local
13MANPREFIX = $(PREFIX)/share/man
14
15SRC = commands.c image.c main.c options.c thumbs.c util.c window.c
16OBJ = $(SRC:.c=.o)
17
18all: options sxiv
19
20options:
21 @echo "sxiv build options:"
22 @echo "CC = $(CC)"
23 @echo "CFLAGS = $(CFLAGS)"
24 @echo "LDFLAGS = $(LDFLAGS)"
25 @echo "XFLAGS = $(XFLAGS)"
26 @echo "XLIBS = $(XLIBS)"
27 @echo "PREFIX = $(PREFIX)"
28
29.c.o:
30 @echo "CC $<"
31 @$(CC) $(CFLAGS) $(XFLAGS) -DVERSION=\"$(VERSION)\" -c -o $@ $<
32
33$(OBJ): Makefile config.h
34
35config.h:
36 @echo "creating $@ from config.def.h"
37 @cp config.def.h $@
38
39sxiv: $(OBJ)
40 @echo "CC -o $@"
41 @$(CC) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) $(XLIBS)
42
43clean:
44 @echo "cleaning"
45 @rm -f $(OBJ) sxiv sxiv-$(VERSION).tar.gz
46
47dist: clean
48 @echo "creating dist tarball"
49 @mkdir -p sxiv-$(VERSION)
50 @cp LICENSE Makefile Makefile.netbsd README.md config.def.h \
51 sxiv.1 $(SRC) sxiv-$(VERSION)
52 @tar -cf sxiv-$(VERSION).tar sxiv-$(VERSION)
53 @gzip sxiv-$(VERSION).tar
54 @rm -rf sxiv-$(VERSION)
55
56install: all
57 @echo "installing executable file to $(DESTDIR)$(PREFIX)/bin"
58 @install -D -m 755 sxiv $(DESTDIR)$(PREFIX)/bin/sxiv
59 @echo "installing manual page to $(DESTDIR)$(MANPREFIX)/man1"
60 @mkdir -p $(DESTDIR)$(MANPREFIX)/man1
61 @sed "s/VERSION/$(VERSION)/g" sxiv.1 > $(DESTDIR)$(MANPREFIX)/man1/sxiv.1
62 @chmod 644 $(DESTDIR)$(MANPREFIX)/man1/sxiv.1
63
64uninstall:
65 @echo "removing executable file from $(DESTDIR)$(PREFIX)/bin"
66 @rm -f $(DESTDIR)$(PREFIX)/bin/sxiv
67 @echo "removing manual page from $(DESTDIR)$(MANPREFIX)/man1"
68 @rm -f $(DESTDIR)$(MANPREFIX)/man1/sxiv.1