#
# Makefile for compiling libzio
#
# Author: Werner Fink, <werner@suse.de>
#

CFLAGS	= $(RPM_OPT_FLAGS) -pipe -Wall -D_REENTRANT
CC	= gcc
MAJOR	= 0
MINOR	= 2
VERSION	= $(MAJOR).$(MINOR)

libdir	= /usr/lib
mandir	= /usr/share/man

FILES	= README	\
	  COPYING	\
	  Makefile	\
	  zio.c		\
	  zioP.h	\
	  zio.h.in	\
	  testt.c	\
	  fzopen.3.in

all: 	libzio.so.$(VERSION) libzio.a

obj/zio.o: zio.c zioP.h zio.h
	mkdir obj/
	$(CC) $(CFLAGS) -o $@ -c $<

obs/zio.o: zio.c zioP.h zio.h
	mkdir obs/
	$(CC) $(CFLAGS) -fPIC -o $@ -c $<

libzio.a: obj/zio.o
	ar -rv $@ $^
	ranlib $@

libzio.so.$(VERSION): obs/zio.o
	gcc -shared -Wl,-soname,libzio.so.$(MAJOR),-stats,-lc -o $@ $^

zioP.h: /usr/include/bzlib.h /usr/include/zlib.h
zio.h:  zio.h.in /usr/include/stdio.h
	sed 's/@@VERSION@@/$(VERSION)/' < $< > $@
fzopen.3: fzopen.3.in
	sed 's/@@VERSION@@/$(VERSION)/' < $< > $@

install: libzio.so.$(VERSION) libzio.a zio.h fzopen.3
	mkdir -p $(DESTDIR)$(libdir)
	mkdir -p $(DESTDIR)/usr/include
	mkdir -p $(DESTDIR)$(mandir)/man3
	install -m 0755 libzio.so.$(VERSION) $(DESTDIR)$(libdir)/
	install -m 0644 libzio.a             $(DESTDIR)$(libdir)/
	install -m 0644 zio.h                $(DESTDIR)/usr/include/
	install -m 0644 fzopen.3             $(DESTDIR)$(mandir)/man3/
	ln -sf libzio.so.$(VERSION) $(DESTDIR)$(libdir)/libzio.so.$(MAJOR)
	ln -sf libzio.so.$(MAJOR)   $(DESTDIR)$(libdir)/libzio.so

clean:
	rm -f *.a *.so* testt zio.h
	rm -rf obj/ obs/
	rm -f libzio-$(VERSION).tar.gz

dest:   clean
	mkdir libzio-$(VERSION)
	cp $(FILES) libzio-$(VERSION)
	tar czf libzio-$(VERSION).tar.gz libzio-$(VERSION)/
	rm -rf libzio-$(VERSION)/

testt:  testt.c libzio.a
	$(CC) $(CFLAGS) -o $@ $^ -lz -lbz2
