aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBert <ber.t@gmx.com>2011-09-08 15:41:18 +0200
committerBert <ber.t@gmx.com>2011-09-08 15:41:18 +0200
commitb96c10633782d697a4f5573099b0762630b45347 (patch)
tree276cbe1dd0a1e9f58971360d79192b0a2b7feea4
parent8f34b7e95cc4de30b67eacb264688ca14acaaf60 (diff)
Overhauled building
- config.h -> config.def.h - Create config.h during make, if it does not exist - Nice make output - Use XFLAGS and XLIBS to include additional compile-time features, which depend on third-party libraries
-rw-r--r--.gitignore3
-rw-r--r--Makefile70
-rw-r--r--Makefile.netbsd2
-rw-r--r--config.def.h (renamed from config.h)0
-rw-r--r--image.c8
5 files changed, 59 insertions, 24 deletions
diff --git a/.gitignore b/.gitignore
index 4a18685..bb71929 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
+config.h
*.o
sxiv
cscope.out
-release
tags
+release
diff --git a/Makefile b/Makefile
index 2b0b739..8cf5a9a 100644
--- a/Makefile
+++ b/Makefile
@@ -1,30 +1,64 @@
-all: sxiv
+VERSION = git-20110908
-VERSION = git-20110906
-
-CC = gcc
-DESTDIR =
-PREFIX = /usr/local
-CFLAGS = -Wall -pedantic -O2 -DVERSION=\"$(VERSION)\" -DHAVE_GIFLIB
+CC = gcc
+CFLAGS = -Wall -pedantic -O2
LDFLAGS =
-LIBS = -lX11 -lImlib2 -lgif
+LIBS = -lX11 -lImlib2
+
+PREFIX = /usr/local
+MANPREFIX = $(PREFIX)/share/man
SRC = commands.c image.c main.c options.c thumbs.c util.c window.c
OBJ = $(SRC:.c=.o)
-sxiv: $(OBJ)
- $(CC) $(LDFLAGS) -o $@ $(OBJ) $(LIBS)
+all: options sxiv
-$(OBJ): Makefile config.h
+options:
+ @echo "sxiv build options:"
+ @echo "CC = $(CC)"
+ @echo "CFLAGS = $(CFLAGS)"
+ @echo "XFLAGS = $(XFLAGS)"
+ @echo "LDFLAGS = $(LDFLAGS)"
+ @echo "XLIBS = $(XLIBS)"
+ @echo "PREFIX = $(PREFIX)"
.c.o:
- $(CC) $(CFLAGS) -c -o $@ $<
+ @echo "CC $<"
+ @$(CC) $(CFLAGS) $(XFLAGS) -DVERSION=\"$(VERSION)\" -c -o $@ $<
-install: all
- install -D -m 755 -o root -g root sxiv $(DESTDIR)$(PREFIX)/bin/sxiv
- mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1
- sed "s/VERSION/$(VERSION)/g" sxiv.1 > $(DESTDIR)$(PREFIX)/share/man/man1/sxiv.1
- chmod 644 $(DESTDIR)$(PREFIX)/share/man/man1/sxiv.1
+$(OBJ): Makefile config.h
+
+config.h:
+ @echo "creating $@ from config.def.h"
+ @cp config.def.h $@
+
+sxiv: $(OBJ)
+ @echo "CC -o $@"
+ @$(CC) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) $(XLIBS)
clean:
- rm -f $(OBJ) sxiv
+ @echo "cleaning"
+ @rm -f $(OBJ) sxiv sxiv-$(VERSION).tar.gz
+
+dist: clean
+ @echo "creating dist tarball"
+ @mkdir -p sxiv-$(VERSION)
+ @cp LICENSE Makefile Makefile.netbsd README.md config.def.h \
+ sxiv.1 $(SRC) sxiv-$(VERSION)
+ @tar -cf sxiv-$(VERSION).tar sxiv-$(VERSION)
+ @gzip sxiv-$(VERSION).tar
+ @rm -rf sxiv-$(VERSION)
+
+install: all
+ @echo "installing executable file to $(DESTDIR)$(PREFIX)/bin"
+ @install -D -m 755 sxiv $(DESTDIR)$(PREFIX)/bin/sxiv
+ @echo "installing manual page to $(DESTDIR)$(MANPREFIX)/man1"
+ @mkdir -p $(DESTDIR)$(MANPREFIX)/man1
+ @sed "s/VERSION/$(VERSION)/g" sxiv.1 > $(DESTDIR)$(MANPREFIX)/man1/sxiv.1
+ @chmod 644 $(DESTDIR)$(MANPREFIX)/man1/sxiv.1
+
+uninstall:
+ @echo "removing executable file from $(DESTDIR)$(PREFIX)/bin"
+ @rm -f $(DESTDIR)$(PREFIX)/bin/sxiv
+ @echo "removing manual page from $(DESTDIR)$(MANPREFIX)/man1"
+ @rm -f $(DESTDIR)$(MANPREFIX)/man1/sxiv.1
diff --git a/Makefile.netbsd b/Makefile.netbsd
index 8dd0e23..50fad95 100644
--- a/Makefile.netbsd
+++ b/Makefile.netbsd
@@ -1,4 +1,4 @@
.include "Makefile"
-CFLAGS = -Wall -pedantic -O2 -DVERSION=\"$(VERSION)\" -DHAVE_GIFLIB -I/usr/X11R7/include -I/usr/pkg/include
+CFLAGS = -Wall -pedantic -O2 -I/usr/X11R7/include -I/usr/pkg/include
LDFLAGS = -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib
diff --git a/config.h b/config.def.h
index d5a9463..d5a9463 100644
--- a/config.h
+++ b/config.def.h
diff --git a/image.c b/image.c
index e2fc096..e018631 100644
--- a/image.c
+++ b/image.c
@@ -18,7 +18,7 @@
#include <unistd.h>
-#ifdef HAVE_GIFLIB
+#ifdef GIF_SUPPORT
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
@@ -59,7 +59,7 @@ void img_init(img_t *img, win_t *win) {
}
}
-#ifdef HAVE_GIFLIB
+#ifdef GIF_SUPPORT
/* Originally based on, but in its current form merely inspired by Imlib2's
* src/modules/loaders/loader_gif.c:load(), written by Carsten Haitzler.
*/
@@ -223,7 +223,7 @@ int img_load_gif(img_t *img, const fileinfo_t *file) {
return !err;
}
-#endif /* HAVE_GIFLIB */
+#endif /* GIF_SUPPORT */
int img_load(img_t *img, const fileinfo_t *file) {
const char *fmt;
@@ -241,7 +241,7 @@ int img_load(img_t *img, const fileinfo_t *file) {
imlib_context_set_anti_alias(img->aa);
fmt = imlib_image_format();
-#ifdef HAVE_GIFLIB
+#ifdef GIF_SUPPORT
if (!strcmp(fmt, "gif"))
img_load_gif(img, file);
#else