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
This commit is contained in:
parent
8f34b7e95c
commit
b96c106337
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,5 +1,6 @@
|
||||
config.h
|
||||
*.o
|
||||
sxiv
|
||||
cscope.out
|
||||
release
|
||||
tags
|
||||
release
|
||||
|
68
Makefile
68
Makefile
@ -1,30 +1,64 @@
|
||||
all: sxiv
|
||||
|
||||
VERSION = git-20110906
|
||||
VERSION = git-20110908
|
||||
|
||||
CC = gcc
|
||||
DESTDIR =
|
||||
PREFIX = /usr/local
|
||||
CFLAGS = -Wall -pedantic -O2 -DVERSION=\"$(VERSION)\" -DHAVE_GIFLIB
|
||||
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
|
||||
|
||||
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:
|
||||
@echo "CC $<"
|
||||
@$(CC) $(CFLAGS) $(XFLAGS) -DVERSION=\"$(VERSION)\" -c -o $@ $<
|
||||
|
||||
$(OBJ): Makefile config.h
|
||||
|
||||
.c.o:
|
||||
$(CC) $(CFLAGS) -c -o $@ $<
|
||||
config.h:
|
||||
@echo "creating $@ from config.def.h"
|
||||
@cp config.def.h $@
|
||||
|
||||
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
|
||||
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
|
||||
|
@ -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
|
||||
|
8
image.c
8
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
|
||||
|
Loading…
Reference in New Issue
Block a user