1# 2# Strn makefile 3# 4VER=2.2.0 5PREFIX=@prefix@ 6MAN=@prefix@/man 7SHELL=/bin/sh 8.SUFFIXES: .c .o .so 9LIB=libStrn.a 10LIBSO=libStrn.so.1 11LIBSOS=libStrn.so 12CC=@CC@ 13CPPFLAGS= 14#CFLAGS=-O2 15CFLAGS=@CFLAGS@ 16DEFS=-DSTRNP_ZERO_PAD=0 -DSTRN_ZERO_PAD=1 17 18OBJS=Dynscat.o Strncpy.o Strncat.o Strntok.o Strnpcpy.o Strnpcat.o strtokc.o version.o 19SOBJS=Dynscat.so Strncpy.so Strncat.so Strntok.so Strnpcpy.so Strnpcat.so strtokc.so version.so 20 21all: static 22 -@echo "Done making Strn." 23 24static: $(LIB) 25 26$(LIB): $(OBJS) 27 ar rv $(LIB) $(OBJS) 28 chmod 644 "$(LIB)" 29 -ranlib "$(LIB)" 30 echo "$(VER)" > Strn.version 31 -@/bin/ls -l "$(LIB)" 32 33.c.o: 34 $(CC) $(CFLAGS) $(DEFS) $(CPPFLAGS) $< -c 35 36.c.so: 37 $(CC) -fpic $(CFLAGS) $(CPPFLAGS) $(DEFS) $*.c -c -o $*.so 38 39dynamic: $(LIBSO) 40 41shared: $(LIBSO) 42 43so: $(LIBSO) 44 45$(LIBSO): $(SOBJS) 46 /bin/rm -f "$(LIBSO)" 47 gcc -shared "-Wl,-soname,$(LIBSO)" -o "$(LIBSO)" $(SOBJS) 48 /bin/ln -s "$(LIBSO)" "$(LIBSOS)" 49 -@/bin/ls -l "$(LIBSOS)" "$(LIBSO)" 50 51soinstall: $(LIBSO) 52 cp "$(LIBSO)" "$(PREFIX)/lib/$(LIBSO)" 53 ( cd "$(PREFIX)/lib" ; /bin/ln -s "$(LIBSO)" "$(LIBSOS)" ) 54 cp Strn.h "$(PREFIX)/include/Strn.h" 55 -chmod a+r "$(PREFIX)/lib/$(LIBSO)" "$(PREFIX)/include/Strn.h" 56 57tester: $(LIB) tester.c 58 $(CC) $(CFLAGS) tester.c -o tester -I. -L. -lStrn 59 60clean: 61 /bin/rm -f "$(LIB)" "$(LIBSO)" $(OBJS) $(SOBJS) 62 63install: 64 if test ! -d $(PREFIX)/include ; then mkdir -p "$(PREFIX)/include" ; fi 65 if test ! -d $(PREFIX)/lib ; then mkdir -p "$(PREFIX)/lib" ; fi 66 cp "$(LIB)" Strn.version "$(PREFIX)/lib" 67 cp Strn.h "$(PREFIX)/include/Strn.h" 68 -chmod 664 "$(PREFIX)/include/Strn.h" "$(PREFIX)/lib/Strn.version" "$(PREFIX)/lib/$(LIB)" 69 -cp Strn.3 "$(MAN)/man3/Strn.3" 70 -chmod 664 "$(MAN)/man3/Strn.3" 71 -ln "$(MAN)/man3/Strn.3" "$(MAN)/man3/Strncpy.3" 72 -ln "$(MAN)/man3/Strn.3" "$(MAN)/man3/Strncat.3" 73 74uninstall: 75 /bin/rm -f "$(PREFIX)/lib/$(LIB)" "$(PREFIX)/include/Strn.h" 76 77PACKAGE=configure Makefile.in configure.in Strn.dsp Strn.dsw Dynscat.c Strncpy.c Strncat.c Strnpcpy.c Strnpcat.c Strntok.c strtokc.c Strn.h Strn.3 tester.c version.c Strn.version 78 79TMPDIR=/tmp 80TARDIR=Strn 81TARFILE=$(TARDIR).tar 82TGZFILE=$(TARDIR).tgz 83 84tarcp: 85 -@mkdir -p $(TMPDIR)/TAR/$(TARDIR) 86 -@chmod ga+r $(PACKAGE) 87 -@chmod 755 $(TMPDIR)/TAR/$(TARDIR) 88 cp -pr $(PACKAGE) $(TMPDIR)/TAR/$(TARDIR) 89 90tar: $(PACKAGE) 91 -@mkdir $(TMPDIR)/TAR 92 -@mkdir $(TMPDIR)/TAR/$(TARDIR) 93 -@chmod ga+r $(PACKAGE) 94 -@chmod 755 $(TMPDIR)/TAR/$(TARDIR) 95 cp -pr $(PACKAGE) $(TMPDIR)/TAR/$(TARDIR) 96 ( cd $(TMPDIR)/TAR ; tar cf $(TARFILE) ./$(TARDIR) ) 97 cp $(TMPDIR)/TAR/$(TARFILE) . 98 -@chmod 644 $(TARFILE) 99 -@rm -rf $(TMPDIR)/TAR 100 -@ls -l $(TARFILE) 101 102gz: tar 103 gzip -c $(TARFILE) > $(TGZFILE) 104 -@rm $(TARFILE) 105 -@chmod 644 $(TGZFILE) 106 -@ls -l $(TGZFILE) 107 108Dynscat.o: Dynscat.c Strn.h 109Strncat.o: Strncat.c Strn.h 110Strncpy.o: Strncpy.c Strn.h 111Strnpcat.o: Strnpcat.c Strn.h 112Strnpcpy.o: Strnpcpy.c Strn.h 113Strntok.o: Strntok.c Strn.h 114strtokc.o: strtokc.c Strn.h 115version.o: version.c 116