diff options
author | Bert <ber.t@gmx.com> | 2011-09-08 15:41:18 +0200 |
---|---|---|
committer | Bert <ber.t@gmx.com> | 2011-09-08 15:41:18 +0200 |
commit | b96c10633782d697a4f5573099b0762630b45347 (patch) | |
tree | 276cbe1dd0a1e9f58971360d79192b0a2b7feea4 | |
parent | 8f34b7e95cc4de30b67eacb264688ca14acaaf60 (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-- | .gitignore | 3 | ||||
-rw-r--r-- | Makefile | 70 | ||||
-rw-r--r-- | Makefile.netbsd | 2 | ||||
-rw-r--r-- | config.def.h (renamed from config.h) | 0 | ||||
-rw-r--r-- | image.c | 8 |
5 files changed, 59 insertions, 24 deletions
@@ -1,5 +1,6 @@ +config.h *.o sxiv cscope.out -release tags +release @@ -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 @@ -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 |