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
|
*.o
|
||||||
sxiv
|
sxiv
|
||||||
cscope.out
|
cscope.out
|
||||||
release
|
|
||||||
tags
|
tags
|
||||||
|
release
|
||||||
|
|
68
Makefile
68
Makefile
|
@ -1,30 +1,64 @@
|
||||||
all: sxiv
|
VERSION = git-20110908
|
||||||
|
|
||||||
VERSION = git-20110906
|
|
||||||
|
|
||||||
CC = gcc
|
CC = gcc
|
||||||
DESTDIR =
|
CFLAGS = -Wall -pedantic -O2
|
||||||
PREFIX = /usr/local
|
|
||||||
CFLAGS = -Wall -pedantic -O2 -DVERSION=\"$(VERSION)\" -DHAVE_GIFLIB
|
|
||||||
LDFLAGS =
|
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
|
SRC = commands.c image.c main.c options.c thumbs.c util.c window.c
|
||||||
OBJ = $(SRC:.c=.o)
|
OBJ = $(SRC:.c=.o)
|
||||||
|
|
||||||
sxiv: $(OBJ)
|
all: options sxiv
|
||||||
$(CC) $(LDFLAGS) -o $@ $(OBJ) $(LIBS)
|
|
||||||
|
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
|
$(OBJ): Makefile config.h
|
||||||
|
|
||||||
.c.o:
|
config.h:
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
@echo "creating $@ from config.def.h"
|
||||||
|
@cp config.def.h $@
|
||||||
|
|
||||||
install: all
|
sxiv: $(OBJ)
|
||||||
install -D -m 755 -o root -g root sxiv $(DESTDIR)$(PREFIX)/bin/sxiv
|
@echo "CC -o $@"
|
||||||
mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1
|
@$(CC) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) $(XLIBS)
|
||||||
sed "s/VERSION/$(VERSION)/g" sxiv.1 > $(DESTDIR)$(PREFIX)/share/man/man1/sxiv.1
|
|
||||||
chmod 644 $(DESTDIR)$(PREFIX)/share/man/man1/sxiv.1
|
|
||||||
|
|
||||||
clean:
|
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"
|
.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
|
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>
|
#include <unistd.h>
|
||||||
|
|
||||||
#ifdef HAVE_GIFLIB
|
#ifdef GIF_SUPPORT
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <sys/types.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
|
/* Originally based on, but in its current form merely inspired by Imlib2's
|
||||||
* src/modules/loaders/loader_gif.c:load(), written by Carsten Haitzler.
|
* 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;
|
return !err;
|
||||||
}
|
}
|
||||||
#endif /* HAVE_GIFLIB */
|
#endif /* GIF_SUPPORT */
|
||||||
|
|
||||||
int img_load(img_t *img, const fileinfo_t *file) {
|
int img_load(img_t *img, const fileinfo_t *file) {
|
||||||
const char *fmt;
|
const char *fmt;
|
||||||
|
@ -241,7 +241,7 @@ int img_load(img_t *img, const fileinfo_t *file) {
|
||||||
imlib_context_set_anti_alias(img->aa);
|
imlib_context_set_anti_alias(img->aa);
|
||||||
|
|
||||||
fmt = imlib_image_format();
|
fmt = imlib_image_format();
|
||||||
#ifdef HAVE_GIFLIB
|
#ifdef GIF_SUPPORT
|
||||||
if (!strcmp(fmt, "gif"))
|
if (!strcmp(fmt, "gif"))
|
||||||
img_load_gif(img, file);
|
img_load_gif(img, file);
|
||||||
#else
|
#else
|
||||||
|
|
Loading…
Reference in a new issue