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 | 
