1#
2# Strn makefile
3#
4VER=@STRN_VERSION@
5prefix=@prefix@
6MAN=@mandir@
7SHELL=/bin/sh
8.SUFFIXES: .c .o .so
9LIB=libStrn.a
10LIBSO=libStrn.so.1
11LIBSOS=libStrn.so
12CC=@CC@
13CPPFLAGS=@CPPFLAGS@
14#CFLAGS=-O2
15CFLAGS=@CFLAGS@
16DEFS=@DEFS@@NDEFS@
17
18DELETE=/bin/rm -rf
19COPY=/bin/cp -pr
20LIST=/bin/ls -l
21MKDIR=mkdir -m 755 -p
22SYMLINK=/bin/ln -s
23HARDLINK=/bin/ln
24
25CFILES=\
26	DStrCat.c      DStrFree.c  Dynscpy.c	Strncpy.c   strtokc.c \
27	DStrCatList.c  DStrInit.c  Dynsrecpy.c	Strnpcat.c  \
28	DStrCpy.c      DStrNew.c   StrFree.c	Strnpcpy.c \
29	DStrCpyList.c  Dynscat.c   Strncat.c	Strntok.c \
30	Strncpy_NoZeroPad.c        Strncat_NoZeroPad.c
31
32HFILES=\
33	DStrInternal.h	Strn.h	   syshdrs.h
34
35OBJS=\
36	DStrCat.o      DStrFree.o  Dynscpy.o	Strncpy.o   strtokc.o \
37	DStrCatList.o  DStrInit.o  Dynsrecpy.o	Strnpcat.o  \
38	DStrCpy.o      DStrNew.o   StrFree.o	Strnpcpy.o \
39	DStrCpyList.o  Dynscat.o   Strncat.o	Strntok.o \
40	Strncpy_NoZeroPad.o        Strncat_NoZeroPad.o
41
42SOBJS=\
43	DStrCat.so      DStrFree.so  Dynscpy.so	Strncpy.so   strtokc.so \
44	DStrCatList.so  DStrInit.so  Dynsrecpy.so  Strnpcat.so \
45	DStrCpy.so      DStrNew.so   StrFree.so	Strnpcpy.so \
46	DStrCpyList.so  Dynscat.so   Strncat.so	Strntok.so \
47	Strncpy_NoZeroPad.so         Strncat_NoZeroPad.so
48
49all: static
50	-@echo "Done making Strn."
51
52static: $(LIB)
53
54$(LIB): $(OBJS)
55	@CCDV@@AR@ r $(LIB) $(OBJS)
56	-@chmod 644 "$(LIB)"
57	-@RANLIB@ "$(LIB)"
58	-@echo "$(VER)" > Strn.version
59	-@$(LIST) "$(LIB)"
60
61.c.o:
62	@CCDV@$(CC) $(CFLAGS) $(DEFS) $(CPPFLAGS) $< -c
63
64.c.so:
65	@CCDV@$(CC) -fpic $(CFLAGS) $(CPPFLAGS) $(DEFS) $*.c -c -o $*.so
66
67dynamic: $(LIBSO)
68
69shared: $(LIBSO)
70
71so: $(LIBSO)
72
73$(LIBSO): $(SOBJS)
74	$(DELETE) "$(LIBSO)" "$(LIBSOS)"
75	$(CC) -shared "-Wl,-soname,$(LIBSO)" -o "$(LIBSO)" $(SOBJS)
76	$(SYMLINK) "$(LIBSO)" "$(LIBSOS)"
77	-@$(LIST) "$(LIBSOS)" "$(LIBSO)"
78
79soinstall: $(LIBSO)
80	$(COPY) "$(LIBSO)" "$(prefix)/lib/$(LIBSO)"
81	( cd "$(prefix)/lib" ; $(SYMLINK) "$(LIBSO)" "$(LIBSOS)" )
82	$(COPY) Strn.h "$(prefix)/include/Strn.h"
83	-chmod a+r "$(prefix)/lib/$(LIBSO)" "$(prefix)/include/Strn.h"
84
85tester: $(LIB) tester.c
86	$(CC) $(CFLAGS) tester.c -o tester -I. -L. -lStrn
87
88clean:
89	$(DELETE) "$(LIB)" "$(LIBSO)" *.@OBJEXT@ *.so tester core *.pch SunWS_cache
90
91distclean: clean
92	-$(DELETE) config.h Makefile config.status config.cache config.log Strn.version
93
94install_min:
95	if test ! -d $(prefix)/include ; then $(MKDIR) "$(prefix)/include" ; fi
96	if test ! -d $(prefix)/lib ; then $(MKDIR) "$(prefix)/lib" ; fi
97	$(COPY) "$(LIB)" "$(prefix)/lib"
98	-@@RANLIB@ "$(prefix)/lib/$(LIB)"
99	$(COPY) Strn.h "$(prefix)/include/Strn.h"
100	-chmod 664 "$(prefix)/include/Strn.h" "$(prefix)/lib/$(LIB)"
101
102install:
103	if test ! -d $(prefix)/include ; then $(MKDIR) "$(prefix)/include" ; fi
104	if test ! -d $(prefix)/lib ; then $(MKDIR) "$(prefix)/lib" ; fi
105	$(COPY) "$(LIB)" Strn.version "$(prefix)/lib"
106	-@@RANLIB@ "$(prefix)/lib/$(LIB)"
107	$(COPY) Strn.h "$(prefix)/include/Strn.h"
108	-chmod 664 "$(prefix)/include/Strn.h" "$(prefix)/lib/Strn.version" "$(prefix)/lib/$(LIB)"
109	-$(COPY) Strn.3 "$(MAN)/man3/Strn.3"
110	-chmod 664 "$(MAN)/man3/Strn.3"
111	-$(HARDLINK) "$(MAN)/man3/Strn.3" "$(MAN)/man3/Strncpy.3"
112	-$(HARDLINK) "$(MAN)/man3/Strn.3" "$(MAN)/man3/Strncat.3"
113
114uninstall:
115	$(DELETE) "$(prefix)/lib/$(LIB)" "$(prefix)/include/Strn.h" "$(prefix)/lib/Strn.version"
116
117PACKAGE=configure Makefile.in configure.in config.h.in Strn.vcproj Strn.sln tester.c $(CFILES) $(HFILES)
118
119TMPDIR=/tmp
120TARDIR=Strn
121TARFILE=$(TARDIR).tar
122TGZFILE=$(TARDIR).tgz
123
124tarcp:
125	-@$(MKDIR) $(TMPDIR)/TAR/$(TARDIR)
126	-@chmod ga+r $(PACKAGE)
127	-@chmod 755 $(TMPDIR)/TAR/$(TARDIR)
128	$(COPY) $(PACKAGE) $(TMPDIR)/TAR/$(TARDIR)
129
130tar: $(PACKAGE)
131	-@$(MKDIR) $(TMPDIR)/TAR
132	-@$(MKDIR) $(TMPDIR)/TAR/$(TARDIR)
133	-@chmod ga+r $(PACKAGE)
134	-@chmod 755 $(TMPDIR)/TAR/$(TARDIR)
135	$(COPY) $(PACKAGE) $(TMPDIR)/TAR/$(TARDIR)
136	( cd $(TMPDIR)/TAR ; @TAR@ @TARFLAGS@ $(TARFILE) ./$(TARDIR) )
137	$(COPY) $(TMPDIR)/TAR/$(TARFILE) .
138	-@chmod 644 $(TARFILE)
139	-@$(DELETE) $(TMPDIR)/TAR
140	-@$(LIST) $(TARFILE)
141
142gz: tar
143	gzip -c $(TARFILE) > $(TGZFILE)
144	-@$(DELETE) $(TARFILE)
145	-@chmod 644 $(TGZFILE)
146	-@$(LIST) $(TGZFILE)
147
148DStrCat.o: DStrCat.c Strn.h DStrInternal.h syshdrs.h
149DStrCatList.o: DStrCatList.c Strn.h DStrInternal.h syshdrs.h
150DStrCpy.o: DStrCpy.c Strn.h DStrInternal.h syshdrs.h
151DStrCpyList.o: DStrCpyList.c Strn.h DStrInternal.h syshdrs.h
152DStrFree.o: DStrFree.c Strn.h DStrInternal.h syshdrs.h
153DStrInit.o: DStrInit.c Strn.h DStrInternal.h syshdrs.h
154DStrNew.o: DStrNew.c Strn.h DStrInternal.h syshdrs.h
155Dynscpy.o: Dynscpy.c Strn.h syshdrs.h
156Dynscat.o: Dynscat.c Strn.h syshdrs.h
157Strncat.o: Strncat.c Strn.h syshdrs.h
158Strncpy.o: Strncpy.c Strn.h syshdrs.h
159Strnpcat.o: Strnpcat.c Strn.h syshdrs.h
160Strnpcpy.o: Strnpcpy.c Strn.h syshdrs.h
161Strntok.o: Strntok.c Strn.h syshdrs.h
162strtokc.o: strtokc.c Strn.h syshdrs.h
163Strncpy_NoZeroPad.o: Strncpy_NoZeroPad.c Strn.h syshdrs.h
164Strncat_NoZeroPad.o: Strncat_NoZeroPad.c Strn.h syshdrs.h
165