--- libzio-0.4/Makefile +++ libzio-0.4/Makefile @@ -4,12 +4,13 @@ # Author: Werner Fink, # -LARGE = -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 +LARGE = $(shell getconf LFS_CFLAGS) CFLAGS = $(RPM_OPT_FLAGS) -pipe -Wall -D_GNU_SOURCE -D_REENTRANT $(LARGE) CC = gcc MAJOR = 0 MINOR = 4 VERSION = $(MAJOR).$(MINOR) +MAP = libzio.map libdir = /usr/lib mandir = /usr/share/man @@ -25,7 +26,11 @@ FILES = README \ unlzw.c \ fzopen.3.in -all: libzio.so.$(VERSION) libzio.a +all: shared static + +shared: libzio.so.$(VERSION) + +static: libzio.a obj/zio.o: zio.c zioP.h zio.h test -d obj/ || mkdir obj/ @@ -47,8 +52,11 @@ libzio.a: obj/zio.o obj/unlzw.o ar -rv $@ $^ ranlib $@ -libzio.so.$(VERSION): obs/zio.o obs/unlzw.o - gcc -shared -Wl,-soname,libzio.so.$(MAJOR),-stats,-lc -o $@ $^ +libzio.so.$(VERSION): obs/zio.o obs/unlzw.o $(MAP) + gcc -shared -Wl,-soname,libzio.so.$(MAJOR),--version-script=$(MAP),-stats \ + -o $@ obs/zio.o obs/unlzw.o -lz -lbz2 + ln -sf libzio.so.$(VERSION) libzio.so.$(MAJOR) + ln -sf libzio.so.$(MAJOR) libzio.so zioP.h: /usr/include/bzlib.h /usr/include/zlib.h zio.h: zio.h.in /usr/include/stdio.h @@ -58,16 +66,23 @@ fzopen.3: fzopen.3.in unlzw.c: lzw.h -install: libzio.so.$(VERSION) libzio.a zio.h fzopen.3 +install: install-shared install-static install-data + +install-shared: libzio.so.$(VERSION) mkdir -p $(DESTDIR)$(libdir) - mkdir -p $(DESTDIR)/usr/include - mkdir -p $(DESTDIR)$(mandir)/man3 install -m 0755 libzio.so.$(VERSION) $(DESTDIR)$(libdir)/ + ln -sf libzio.so.$(VERSION) $(DESTDIR)$(libdir)/libzio.so.$(MAJOR) + ln -sf libzio.so.$(MAJOR) $(DESTDIR)$(libdir)/libzio.so + +install-static: libzio.a + mkdir -p $(DESTDIR)$(libdir) install -m 0644 libzio.a $(DESTDIR)$(libdir)/ + +install-data: zio.h fzopen.3 + mkdir -p $(DESTDIR)/usr/include + mkdir -p $(DESTDIR)$(mandir)/man3 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 @@ -80,5 +95,5 @@ dest: clean tar czf libzio-$(VERSION).tar.gz libzio-$(VERSION)/ rm -rf libzio-$(VERSION)/ -testt: testt.c libzio.a - $(CC) $(CFLAGS) -o $@ $^ -lz -lbz2 +testt: testt.c shared + $(CC) $(CFLAGS) -o $@ $< -L. -lzio --- /dev/null +++ libzio-0.4/libzio.map @@ -0,0 +1,4 @@ +{ + global: fzopen; + local: *; +};