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