home *** CD-ROM | disk | FTP | other *** search
Makefile | 1986-11-20 | 2.8 KB | 72 lines |
- # STRING LIBRARY:
- #
- # Configuration settings: how should "size_t", "void *", "const" be written?
- # "size_t" is what's needed to hold the result of sizeof; beware of problems
- # with compatibility here, because X3J11 uses this for e.g. the third
- # argument of strncpy() as well. You may need to make it "int" even if
- # this is a lie. "void *" is the generic pointer type, "char *" in most
- # existing implementations. "const" is the keyword marking read-only
- # variables and parameters, unimplemented in most existing implementations.
- # These things need to be defined this way because they must be fitted into
- # both the .h files and the .c files; see the make instructions for string.h
- # farther down.
- SIZET = int
- VOIDSTAR = char *
- LVOIDSTAR = char* # Lint shell file has problems with * alone. Barf.
- CONST =
-
- CONF = -DSIZET=$(SIZET) -DVOIDSTAR='$(VOIDSTAR)' -DCONST='$(CONST)'
- LCONF = -DSIZET=$(SIZET) -DVOIDSTAR='$(LVOIDSTAR)' -DCONST='$(CONST)'
-
- # Things you might want to put in CFLAGS or LINTFLAGS.
- # -DCHARBITS=0377 Required if compiler lacks "unsigned char".
- # -Dvoid=int Required if compiler lacks "void".
- # -DUNIXERR Unix-like errno stuff, can test strerror().
- # -DBERKERR Like UNIXERR but for Berklix (4BSD).
- # -I. string.h from here, not /usr/include.
-
- CFLAGS = -O $(CONF) -DUNIXERR -I.
- LINTFLAGS = -hpan $(LCONF) -DUNIXERR -Dvoid=int -DCHARBITS=0377 -I.
- LDFLAGS = -i
-
- # Name lists.
- STRING = index.o rindex.o strcat.o strchr.o strcmp.o strcpy.o strcspn.o \
- strlen.o strncat.o strncmp.o strncpy.o strpbrk.o strrchr.o strspn.o \
- strtok.o strstr.o memcpy.o memccpy.o memcmp.o memchr.o memset.o \
- bcopy.o bcmp.o bzero.o strerror.o
- CSTRING = index.c rindex.c strcat.c strchr.c strcmp.c strcpy.c strcspn.c \
- strlen.c strncat.c strncmp.c strncpy.c strpbrk.c strrchr.c strspn.c \
- strtok.c strstr.c memcpy.c memccpy.c memcmp.c memchr.c memset.c \
- bcopy.c bcmp.c bzero.c strerror.c
- DTR = README Makefile $(CSTRING) tester.c string.h.proto
-
- # Locations, for installation (somewhat system-dependent).
- DEST=..
-
- tester.o: string.h
-
- mv: $(STRING)
- mv $(STRING) $(DEST)
-
- r: tester
- @echo 'No news is good news. Note: strerror() test is VERY system-dependent.'
- tester
-
- tester: tester.o $(STRING)
- cc $(LDFLAGS) tester.o $(STRING) -o tester
-
- string.h: string.h.proto
- sed 's/SIZET/$(SIZET)/g;s/VOIDSTAR /$(VOIDSTAR)/g' string.h.proto >string.h
-
- memory.h: string.h
- egrep mem string.h >memory.h
-
- lint: string.h
- lint $(LINTFLAGS) tester.c $(CSTRING)
-
- clean:
- rm -f tester a.out *.o string.h memory.h dtr
-
- dtr: $(DTR)
- makedtr $(DTR) >dtr
-