PWB1/sys/source/s4/stdio/makefile
LIB = /lib
DD = TMP
USRINC = /usr/include
CC = cc
CCFLAGS = -O
LD = -ld
LDFLAGS = -x
.c.o:
$(CC) -c $(CCFLAGS) $<
$(LD) -r $(LDFLAGS) $*.o
mv a.out $*.o
AS = -as
.s.o:
$(AS) -o $*.o $<
$(LD) -r $(LDFLAGS) $*.o
mv a.out $*.o
AR = ar
#------
# install: Create & install libS.a and libp.a.
#------
install: in_libS.a in_libp.a
#------
# in_stdio.h: Install stdio.h in $(USRINC).
#------
in_stdio.h:
-mv $(USRINC)/stdio.h $(USRINC)/$(DD)stdio.h
cp stdio.h $(USRINC)/stdio.h
-chmod 644 $(USRINC)/stdio.h
-chown bin $(USRINC)/stdio.h
-rm -f $(USRINC)/$(DD)stdio.h
ls -l $(USRINC)/stdio.h
#------
# libS.a: Create libS.a in local directory.
#------
libS.a: intss.o fgetc.o fputc.o freopen.o fgets.o fputs.o getpw.o fseek.o rew.o \
rdwr.o stuff.o system.o tmpnam.o fopen.o scanf.o doscan.o fprintf.o \
gets.o getw.o printf.o puts.o putw.o sprintf.o ungetc.o data.o ctype.o
libS.a: filbuf.o setbuf.o fltpr.o doprnt.o ffltpr.o strout.o flsbuf.o \
error.o ftell.o gcvt.o calloc.o clrerr.o
libS.a:
-rm -f libS.a tmp.a
$(AR) r tmp.a intss.o fgetc.o fputc.o freopen.o \
fgets.o fputs.o getpw.o fseek.o rew.o
$(AR) r tmp.a rdwr.o stuff.o system.o tmpnam.o fopen.o scanf.o doscan.o fprintf.o
$(AR) r tmp.a gets.o getw.o printf.o puts.o putw.o sprintf.o ungetc.o
$(AR) r tmp.a filbuf.o setbuf.o fltpr.o doprnt.o ffltpr.o strout.o flsbuf.o
$(AR) r tmp.a error.o ftell.o gcvt.o calloc.o clrerr.o data.o ctype.o
-chmod 644 tmp.a
mv tmp.a libS.a
#------
# in_libS.a: Create libS.a, if it isn't already, and move it to $(LIB)/libS.a.
#------
in_libS.a: libS.a
-mv $(LIB)/libS.a $(LIB)/$(DD)libS.a
mv libS.a $(LIB)/libS.a
-chmod 644 $(LIB)/libS.a
-chown bin $(LIB)/libS.a
-rm -f $(LIB)/$(DD)libS.a
ls -l $(LIB)/libS.a
#------
# libp.a: Create (substitute) libp.a in local directory.
#------
libp.a: portli.o \
intss.o fgetc.o fputc.o freopen.o fgets.o fputs.o getpw.o fseek.o rew.o \
rdwr.o stuff.o system.o tmpnam.o fopen.o scanf.o doscan.o fprintf.o \
gets.o getw.o printf.o puts.o putw.o sprintf.o ungetc.o data.o ctype.o
libp.a: filbuf.o setbuf.o fltpr.o doprnt.o ffltpr.o strout.o flsbuf.o \
error.o ftell.o gcvt.o calloc.o clrerr.o
libp.a:
-rm -f libp.a tmp.a
$(AR) r tmp.a portli.o intss.o fgetc.o fputc.o freopen.o \
fgets.o fputs.o getpw.o fseek.o rew.o
$(AR) r tmp.a rdwr.o stuff.o system.o tmpnam.o fopen.o scanf.o doscan.o fprintf.o
$(AR) r tmp.a gets.o getw.o printf.o puts.o putw.o sprintf.o ungetc.o
$(AR) r tmp.a filbuf.o setbuf.o fltpr.o doprnt.o ffltpr.o strout.o flsbuf.o
$(AR) r tmp.a error.o ftell.o gcvt.o calloc.o clrerr.o data.o ctype.o
-chmod 644 tmp.a
mv tmp.a libp.a
#------
# in_libp.a: Create libp.a, if it isn't already, and move it to $(LIB)/libp.a.
#------
in_libp.a: libp.a
-mv $(LIB)/libp.a $(LIB)/$(DD)libp.a
mv libp.a $(LIB)/libp.a
-chmod 644 $(LIB)/libp.a
-chown bin $(LIB)/libp.a
-rm -f $(LIB)/$(DD)libp.a
ls -l $(LIB)/libp.a
#------
# clean: Remove all .o files created for libS.a & libp.a.
#------
clean:
-rm -f intss.o fgetc.o fputc.o freopen.o \
fgets.o fputs.o getpw.o fseek.o rew.o
-rm -f rdwr.o stuff.o system.o tmpnam.o fopen.o scanf.o doscan.o fprintf.o
-rm -f gets.o getw.o printf.o puts.o putw.o sprintf.o \
ungetc.o data.o ctype.o
-rm -f filbuf.o setbuf.o fltpr.o doprnt.o ffltpr.o strout.o flsbuf.o
-rm -f error.o ftell.o gcvt.o calloc.o clrerr.o portli.o
#------
# Dependencies for indiv files.
#------
intss.o: intss.c
fgetc.o: fgetc.c stdio.h
fputc.o: fputc.c stdio.h
freopen.o: freopen.c stdio.h
fgets.o: fgets.c stdio.h
fputs.o: fputs.c stdio.h
getpw.o: getpw.c stdio.h
fseek.o: fseek.c stdio.h
rew.o: rew.c stdio.h
rdwr.o: rdwr.c stdio.h
stuff.o: stuff.c
system.o: system.c
tmpnam.o: tmpnam.c
fopen.o: fopen.c stdio.h
scanf.o: scanf.c stdio.h
doscan.o: doscan.c stdio.h
fprintf.o: fprintf.c stdio.h
gets.o: gets.c stdio.h
getw.o: getw.c stdio.h
printf.o: printf.c stdio.h
puts.o: puts.c stdio.h
putw.o: putw.c stdio.h
sprintf.o: sprintf.c stdio.h
ungetc.o: ungetc.c stdio.h
data.o: data.c stdio.h
filbuf.o: filbuf.c stdio.h
setbuf.o: setbuf.c stdio.h
fltpr.o: fltpr.s
doprnt.o: doprnt.s
ffltpr.o: ffltpr.s
strout.o: strout.c stdio.h
flsbuf.o: flsbuf.c stdio.h
error.o: error.c stdio.h
ftell.o: ftell.c stdio.h
gcvt.o: gcvt.c
calloc.o: calloc.c stdio.h
clrerr.o: clrerr.c stdio.h
ctype.o: ctype.c stdio.h
portli.o: portli.c stdio.h