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