| 1 | # |
| 2 | # Copyright (c) 1988 Regents of the University of California. |
| 3 | # All rights reserved. |
| 4 | # |
| 5 | # Redistribution and use in source and binary forms are permitted |
| 6 | # provided that the above copyright notice and this paragraph are |
| 7 | # duplicated in all such forms and that any documentation, |
| 8 | # advertising materials, and other materials related to such |
| 9 | # distribution and use acknowledge that the software was developed |
| 10 | # by the University of California, Berkeley. The name of the |
| 11 | # University may not be used to endorse or promote products derived |
| 12 | # from this software without specific prior written permission. |
| 13 | # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR |
| 14 | # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED |
| 15 | # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
| 16 | # |
| 17 | # @(#)Makefile 5.9 (Berkeley) 6/27/88 |
| 18 | # |
| 19 | # Many of these routines have been rewritten in assembly. The assembly |
| 20 | # source can be found in the directory stdio.${MACHINE}. The macro |
| 21 | # ${STDSRC} lists the files needed by all current implementations. The |
| 22 | # macros ${VAXSRC} and ${TAHOESRC} are the supplemental files needed by |
| 23 | # the VAX and the TAHOE. ${PORTSRC} is a list of all of the supplemental |
| 24 | # files. |
| 25 | |
| 26 | DEFS= -DLIBC_SCCS |
| 27 | CFLAGS= -O ${DEFS} |
| 28 | STDSRC= clrerr.c doprnt.c doscan.c exit.c fdopen.c fgetc.c filbuf.c \ |
| 29 | findiop.c flsbuf.c fopen.c fprintf.c fputc.c fread.c freopen.c \ |
| 30 | fseek.c ftell.c fwrite.c getchar.c getw.c printf.c putchar.c \ |
| 31 | putw.c rew.c scanf.c setbuf.c setbuffer.c sprintf.c ungetc.c \ |
| 32 | vfprintf.c vprintf.c vsprintf.c |
| 33 | STDOBJ= clrerr.o doprnt.o doscan.o exit.o fdopen.o fgetc.o filbuf.o \ |
| 34 | findiop.o flsbuf.o fopen.o fprintf.o fputc.o fread.o freopen.o \ |
| 35 | fseek.o ftell.o fwrite.o getchar.o getw.o printf.o putchar.o \ |
| 36 | putw.o rew.o scanf.o setbuf.o setbuffer.o sprintf.o ungetc.o \ |
| 37 | vfprintf.o vprintf.o vsprintf.o |
| 38 | VAXSRC= |
| 39 | VAXOBJ= |
| 40 | TAHOESRC= fgets.c fputs.c gets.c puts.c |
| 41 | TAHOEOBJ= fgets.o fputs.o gets.o puts.o |
| 42 | PORTSRC= fgets.c fputs.c gets.c puts.c |
| 43 | PORTOBJ= fgets.o fputs.o gets.o puts.o |
| 44 | TAGSFILE=tags |
| 45 | |
| 46 | .c.o: |
| 47 | @${CC} -p ${CFLAGS} -c $*.c |
| 48 | @-ld -X -o profiled/$*.o -r $*.o |
| 49 | ${CC} ${CFLAGS} -c $*.c |
| 50 | @-ld -x -r $*.o |
| 51 | @mv a.out $*.o |
| 52 | |
| 53 | all: lib.${MACHINE} |
| 54 | |
| 55 | link: lib.${MACHINE} link.${MACHINE} |
| 56 | |
| 57 | link.vax: |
| 58 | (cd ../library; rm -f ${STDOBJ} ${VAXOBJ}) |
| 59 | (cd ../profiled; rm -f ${STDOBJ} ${VAXOBJ}) |
| 60 | ln ${STDOBJ} ${VAXOBJ} ../library |
| 61 | (cd profiled; ln ${STDOBJ} ${VAXOBJ} ../../profiled) |
| 62 | |
| 63 | link.tahoe: |
| 64 | (cd ../library; rm -f ${STDOBJ} ${TAHOEOBJ}) |
| 65 | (cd ../profiled; rm -f ${STDOBJ} ${TAHOEOBJ}) |
| 66 | ln ${STDOBJ} ${TAHOEOBJ} ../library |
| 67 | (cd profiled; ln ${STDOBJ} ${TAHOEOBJ} ../../profiled) |
| 68 | |
| 69 | |
| 70 | lib.vax: ${STDOBJ} ${VAXOBJ} |
| 71 | |
| 72 | lib.tahoe: ${STDOBJ} ${TAHOEOBJ} |
| 73 | |
| 74 | tags: tags.${MACHINE} |
| 75 | |
| 76 | tags.vax: |
| 77 | cwd=`pwd`; \ |
| 78 | for i in ${STDSRC} ${VAXSRC}; do \ |
| 79 | ctags -a -f ${TAGSFILE} $$cwd/$$i; \ |
| 80 | done |
| 81 | |
| 82 | tags.tahoe: |
| 83 | cwd=`pwd`; \ |
| 84 | for i in ${STDSRC} ${TAHOESRC}; do \ |
| 85 | ctags -a -f ${TAGSFILE} $$cwd/$$i; \ |
| 86 | done |
| 87 | |
| 88 | clean: |
| 89 | rm -f *.o profiled/* a.out core ${TAGSFILE} |
| 90 | |
| 91 | depend: depend.${MACHINE} |
| 92 | |
| 93 | depend.vax: ${STDSRC} ${VAXSRC} |
| 94 | mkdep ${CFLAGS} ${STDSRC} ${VAXSRC} |
| 95 | |
| 96 | depend.tahoe: ${STDSRC} ${TAHOESRC} |
| 97 | mkdep ${CFLAGS} ${STDSRC} ${TAHOESRC} |
| 98 | |
| 99 | # DO NOT DELETE THIS LINE -- mkdep uses it. |
| 100 | # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. |
| 101 | |
| 102 | clrerr.o: clrerr.c /usr/include/stdio.h |
| 103 | doprnt.o: doprnt.c /usr/include/sys/types.h /usr/include/varargs.h |
| 104 | doprnt.o: /usr/include/stdio.h /usr/include/ctype.h |
| 105 | doscan.o: doscan.c /usr/include/stdio.h /usr/include/ctype.h |
| 106 | exit.o: exit.c |
| 107 | fdopen.o: fdopen.c /usr/include/sys/types.h /usr/include/sys/file.h |
| 108 | fdopen.o: /usr/include/stdio.h |
| 109 | fgetc.o: fgetc.c /usr/include/stdio.h |
| 110 | filbuf.o: filbuf.c /usr/include/stdio.h /usr/include/sys/types.h |
| 111 | filbuf.o: /usr/include/sys/stat.h |
| 112 | findiop.o: findiop.c /usr/include/stdio.h /usr/include/errno.h |
| 113 | flsbuf.o: flsbuf.c /usr/include/stdio.h /usr/include/sys/types.h |
| 114 | flsbuf.o: /usr/include/sys/stat.h |
| 115 | fopen.o: fopen.c /usr/include/sys/types.h /usr/include/sys/file.h |
| 116 | fopen.o: /usr/include/stdio.h |
| 117 | fprintf.o: fprintf.c /usr/include/stdio.h |
| 118 | fputc.o: fputc.c /usr/include/stdio.h |
| 119 | fread.o: fread.c /usr/include/stdio.h |
| 120 | freopen.o: freopen.c /usr/include/sys/types.h /usr/include/sys/file.h |
| 121 | freopen.o: /usr/include/stdio.h |
| 122 | fseek.o: fseek.c /usr/include/stdio.h |
| 123 | ftell.o: ftell.c /usr/include/stdio.h |
| 124 | fwrite.o: fwrite.c /usr/include/stdio.h |
| 125 | getchar.o: getchar.c /usr/include/stdio.h |
| 126 | getw.o: getw.c /usr/include/stdio.h |
| 127 | printf.o: printf.c /usr/include/stdio.h |
| 128 | putchar.o: putchar.c /usr/include/stdio.h |
| 129 | putw.o: putw.c /usr/include/stdio.h |
| 130 | rew.o: rew.c /usr/include/sys/types.h /usr/include/sys/file.h |
| 131 | rew.o: /usr/include/stdio.h |
| 132 | scanf.o: scanf.c /usr/include/stdio.h |
| 133 | setbuf.o: setbuf.c /usr/include/stdio.h |
| 134 | setbuffer.o: setbuffer.c /usr/include/stdio.h |
| 135 | sprintf.o: sprintf.c /usr/include/stdio.h |
| 136 | ungetc.o: ungetc.c /usr/include/stdio.h |
| 137 | vfprintf.o: vfprintf.c /usr/include/stdio.h /usr/include/varargs.h |
| 138 | vprintf.o: vprintf.c /usr/include/stdio.h /usr/include/varargs.h |
| 139 | vsprintf.o: vsprintf.c /usr/include/stdio.h /usr/include/varargs.h |
| 140 | fgets.o: fgets.c /usr/include/stdio.h |
| 141 | fputs.o: fputs.c /usr/include/stdio.h |
| 142 | gets.o: gets.c /usr/include/stdio.h |
| 143 | puts.o: puts.c /usr/include/stdio.h |
| 144 | |
| 145 | # IF YOU PUT ANYTHING HERE IT WILL GO AWAY |