Makefile revision 5d54f3d8999eac1762fe0a8c7177d20f1f201fae
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose#
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# CDDL HEADER START
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose#
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# The contents of this file are subject to the terms of the
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# Common Development and Distribution License, Version 1.0 only
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# (the "License"). You may not use this file except in compliance
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# with the License.
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose#
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# or http://www.opensolaris.org/os/licensing.
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# See the License for the specific language governing permissions
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# and limitations under the License.
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose#
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# When distributing Covered Code, include this CDDL HEADER in each
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# If applicable, add the following below this CDDL HEADER, with the
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# fields enclosed by brackets "[]" replaced with your own identifying
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# information: Portions Copyright [yyyy] [name of copyright owner]
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose#
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# CDDL HEADER END
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose#
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose#
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# Use is subject to license terms.
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose#
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# ident "%Z%%M% %I% %E% SMI"
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose#
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# This builds all objects needed for libbc.
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose#
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit BoseLIBRARY= libc.a
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose# Default rules in ../../Makefile.targ not used.
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit BoseVERS= bogus
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit BoseDYNLIB4X= libc.so.1.9
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit BoseDYNLIBS5= libc.so.2.9
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose#DYNLIBS5 is also defined in ../Makefile
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit BoseM4= m4
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit BoseECHO= echo
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bose
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bose# objects are grouped by source directory.
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bose
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit BoseCOMPATCOM= \
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bosegtty.o lockf.o pause.o stty.o tell.o ulimit.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Boseutime.o
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit BoseCOMPAT4.1=\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Boseftime.o nice.o rand.o vlimit.o vtimes.o getpw.o times.o
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit BoseCOMPATSYS5=\
3b35ff47651e4893ce537a273466766b962362daLukas Slebodniknice.o rand.o getpw.o times.o
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit BoseCRTSPARC =\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose_ftou.o misalign.o ptr_call.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosestart_float.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosealloc_pbuf.o mon.o muldiv.o
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit BoseGENCOM=\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose_crypt.o _nlist.o _perror.o _psignal.o a64l.o abs.o alarm.o\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Boseasctime.o atof.o atoi.o atol.o bcmp.o bsearch.o\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Boseclock.o closedir.o crypt.o ctime.o ctype_.o\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosedrand48.o dysize.o errlst.o execvp.o exit.o exportent.o ecvt.o\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosefabs.o fmod.o frexp.o\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosefstab.o ftok.o ftw.o getacinfo.o getauid.o getauditflags.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosegetcwd.o getenv.o getfaudflgs.o getgraent.o getlogin.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosegetopt.o getsubopt.o getpwaent.o getttyent.o\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosegetttynam.o getusershell.o grpauth.o hsearch.o\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Boseieee_globals.o index.o isatty.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Boseissecure.o jcsetpgrp.o\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosel64a.o labeltostring.o ldexp.o lfind.o lsearch.o\
3b35ff47651e4893ce537a273466766b962362daLukas Slebodnikmadvise.o mallopt.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Boseeuc.multibyte.o iso.multibyte.o xccs.multibyte.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosemblib.o mbstowcs.o mbtowc.o wcstombs.o wctomb.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosememalign.o memccpy.o memchr.o memcmp.o\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosemkstemp.o mktemp.o mlock.o mlockall.o\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosemntent.o modf.o msync.o munlock.o munlockall.o\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosenl_cxtime.o nl_strncmp.o ndbm.o on_exit.o\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Boseopendir.o optind.o perror.o plock.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Boseposix_sig.o posix_tty.o popen.o psignal.o putenv.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosepwdauth.o pwdnm.o qsort.o\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Boserandom.o readdir.o realpath.o regex.o rindex.o scandir.o seekdir.o\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosesetlocale.o setregid.o setreuid.o setrgid.o setruid.o sigfpe.o siglist.o\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosessignal.o strchr.o stricmp.o \
3b35ff47651e4893ce537a273466766b962362daLukas Slebodnikstrftime.o strncat.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosestrpbrk.o strptime.o strrchr.o strspn.o strstr.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosestrtod.o strtok.o strtol.o swab.o syslog.o\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosetelldir.o tfind.o time.o tsearch.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Boseualarm.o usleep.o valloc.o string_decim.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosefile_decim.o func_decim.o econvert.o seconvert.o gconvert.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosedecimal_bin.o float_decim.o double_decim.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosepack_float.o _unpack_dble.o unpack_float.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose_base_S.o _base_il.o _base_sup.o _big_power.o _small_power.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose_sprintf_sup.o _times_power.o qeconvert.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose_Q_neg.o _Q_add.o _Q_sub.o _Q_mul.o _Q_div.o _Q_cmp.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose_Q_cmpe.o _Q_stoq.o _Q_dtoq.o _Q_itoq.o _Q_utoq.o _Q_qtos.o _Q_qtod.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose_Q_qtoi.o _Q_qtou.o _Q_sqrt.o _Qfaddsub.o _Qfcompare.o _Qfdiv.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose_Qfmul.o _Qfpack.o _Qfunpack.o _Qfutility.o _Q_fcc.o _Q_get_rp_rd.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosecalloc.o malloc.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosegetpass.o localtime.o ttyslot.o
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit BoseGENCOMSPARC=\
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosealloca.o ffs.o insque.o remque.o isinf.o base_conv.o
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit BoseGEN4.2=\
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bosenlist.o timezone.o sleep.o system.o
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bose
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit BoseGENSYS5=\
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Boseassert.o nlist.o sgetl.o sleep.o sputl.o system.o \
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bosesighold.o
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bose
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit BoseSTDIOCOM=\
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Boseclrerr.o ctermid.o cuserid.o doprnt.o doscan.o fdopen.o \
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bosefeof.o ferror.o fgetc.o fgets.o fileno.o findiop.o \
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bosefputc.o fputs.o fread.o fseek.o ftell.o \
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bosefwrite.o getc.o getchar.o gets.o getw.o iob.o \
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Boseputc.o putchar.o puts.o putw.o remove.o \
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Boserew.o scanf.o setbuffer.o setvbuf.o tmpnam.o tempnam.o \
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bosetmpfile.o ungetc.o
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bose
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit BoseSTDIO4.2=\
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bosefilbuf.o fopen.o fprintf.o printf.o flsbuf.o setbuf.o \
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bosesprintf.o vfprintf.o vprintf.o vsprintf.o
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bose
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit BoseSTDIOSYS5=\
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bosefilbuf.o fopen.o fprintf.o flsbuf.o printf.o setbuf.o \
9c88f837ffacf6548c13825589b327de1a5525f3Sumit Bosesprintf.o vfprintf.o vprintf.o vsprintf.o
9c88f837ffacf6548c13825589b327de1a5525f3Sumit Bose
9c88f837ffacf6548c13825589b327de1a5525f3Sumit BoseSYSCOM=\
9c88f837ffacf6548c13825589b327de1a5525f3Sumit Bose_access.o acct.o adjtime.o close.o _creat.o dup.o dup2.o \
9c88f837ffacf6548c13825589b327de1a5525f3Sumit Bosefchdir.o fchmod.o fchown.o fchroot.o \
9c88f837ffacf6548c13825589b327de1a5525f3Sumit Bosefdlist.o flock.o fpathconf.o fsync.o ftruncate.o getdents.o \
9c88f837ffacf6548c13825589b327de1a5525f3Sumit Bosegetdtablesize.o getgid.o getitimer.o getpid.o gettimeofday.o \
9c88f837ffacf6548c13825589b327de1a5525f3Sumit Bosegetuid.o ioctl.o kill.o lseek.o mincore.o mprotect.o munmap.o\
9c88f837ffacf6548c13825589b327de1a5525f3Sumit Bose_open.o poll.o profil.o setitimer.o \
9c88f837ffacf6548c13825589b327de1a5525f3Sumit Boserlimit.o _statfs.o sync.o umask.o uname.o\
9c88f837ffacf6548c13825589b327de1a5525f3Sumit Boseexecl.o execle.o execv.o mkfifo.o msgsys.o\
9c88f837ffacf6548c13825589b327de1a5525f3Sumit Bosepathconf.o semsys.o shmsys.o unmount.o wait.o setuid.o\
9c88f837ffacf6548c13825589b327de1a5525f3Sumit Bosesetgid.o _stat.o seteuid.o setegid.o signalmap.o utimes.o syscall.o \
9c88f837ffacf6548c13825589b327de1a5525f3Sumit Bosemaperror.o sigsetjmp.o accept.o bind.o connect.o getpeername.o \
9c88f837ffacf6548c13825589b327de1a5525f3Sumit Bosegetsockname.o getsockopt.o listen.o recv.o send.o \
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bosesetsockopt.o shutdown.o socket.o socketpair.o setsid.o sigaction.o
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bose
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit BoseSYSCOMSPARC=\
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bose_exit.o brk.o cerror.o errno.o \
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bosegetegid.o geteuid.o getppid.o mmap.o pipe.o putmsg.o \
0d01e4f6cc21d8ca0e4fafe59c7cbfa1459fa47eSumit Bosesbrk.o _syscall.o getmsg.o _read.o _write.o \
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose_readv.o _writev.o sendsig.o
SYS4.2=\
access.o chdir.o chmod.o chown.o chroot.o \
creat.o execve.o getpgrp.o link.o mkdir.o \
mknod.o open.o readlink.o rename.o rmdir.o \
setpgrp.o stat.o symlink.o truncate.o unlink.o \
statfs.o fcntl.o read.o write.o readv.o \
writev.o setjmp.o mount.o
SYS4.2SPARC=\
getgroups.o setgroups.o
SYSSYS5=\
access.o chdir.o chmod.o chown.o chroot.o \
creat.o execve.o getgroups.o getpgrp.o link.o \
mkdir.o mknod.o open.o readlink.o rename.o \
rmdir.o setgroups.o setpgrp.o stat.o statfs.o \
stime.o symlink.o truncate.o unlink.o fcntl.o \
read.o write.o readv.o writev.o setjmp.o \
mount.o
#SSYSSPARC=\
#_getpgrp.o _kill.o _lseek.o _mknod.o _mount.o _setpgrp.o \
#umount.o
INET=\
inet_addr.o inet_lnaof.o inet_makeaddr.o inet_netof.o \
inet_network.o inet_ntoa.o
NET=\
ether_addr.o bindresvport.o getrpcport.o rcmd.o \
rexec.o ruserpass.o authunix.o
NETSPARC= htonl.o htons.o ntohl.o ntohs.o
YP= yp_bind.o
YP= yp_bind.o
PSEUDO_SRCS= adjtime.s fchdir.s \
fchmod.s fchown.s fchroot.s \
fpathconf.s getitimer.s getpid.s \
mincore.s mprotect.s munmap.s \
profil.s setitimer.s \
sync.s sysconf.s umask.s ustat.s \
acct.s stime.s \
utimes.s poll.s
#
# libbc build rules
pics/%.o s5pics/%.o : ../libc/compat/common/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
pics/%.o : ../libc/compat/4.1/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
s5pics/%.o : ../libc/compat/sys5/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
pics/%.o s5pics/%.o : ../libc/crt/sparc/%.s
$(BUILD.s)
$(POST_PROCESS_O)
pics/%.o s5pics/%.o : ../libc/crt/sparc/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
pics/%.o s5pics/%.o : ../csu/common/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
pics/%.o s5pics/%.o : ../libc/gen/common/%.S
$(BUILD.s)
$(POST_PROCESS_O)
pics/%.o s5pics/%.o : ../libc/gen/common/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
pics/%.o s5pics/%.o : ../libc/gen/common/sparc/%.s
$(BUILD.s)
$(POST_PROCESS_O)
pics/%.o s5pics/%.o : ../libc/gen/common/sparc/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
pics/%.o : ../libc/gen/4.2/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
s5pics/%.o : ../libc/gen/sys5/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
pics/%.o s5pics/%.o : ../libc/inet/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
pics/%.o s5pics/%.o : ../libc/net/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
pics/%.o s5pics/%.o : ../libc/net/sparc/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
pics/%.o s5pics/%.o : ../libc/stdio/common/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
pics/%.o : ../libc/stdio/4.2/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
s5pics/%.o : ../libc/stdio/sys5/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
pics/%.o s5pics/%.o : ../libc/sys/common/%.s
$(BUILD.s)
$(POST_PROCESS_O)
pics/%.o s5pics/%.o : ../libc/sys/common/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
pics/%.o s5pics/%.o : ../libc/sys/common/sparc/%.s
$(BUILD.s)
$(POST_PROCESS_O)
pics/%.o : ../libc/sys/4.2/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
pics/%.o : ../libc/sys/4.2/sparc/%.s
$(BUILD.s)
$(POST_PROCESS_O)
s5pics/%.o : ../libc/sys/sys5/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
s5pics/%.o : ../libc/sys/sys5/sparc/%.s
$(BUILD.s)
$(POST_PROCESS_O)
s5pics/%.o : ../libc/stdio/sys5/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
pics/%.o s5pics/%.o : ../libc/rpc/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
pics/%.o s5pics/%.o : ../libc/yp/%.c
$(COMPILE.c) -o $@ $<
$(POST_PROCESS_O)
# include common library definitions
include ../../Makefile.lib
C99MODE= $(C99_DISABLE)
#
# The BCP include files depend on old preprocessor semantics.
#
CCMODE = -Xt
# the bcp libraries go in /usr/4lib. override ROOTLIBDIR from ../../Makefile.lib
# and save it so we can find the libraries with which to link
ROOTLIBDIR= $(ROOT)/usr/4lib
CPPFLAGS= -Dsparc \
-I. -Iinc -I../inc/include -I../inc/include/sys $(CPPFLAGS.master)
ASFLAGS= -P -D__STDC__ -DLOCORE -D_SYS_SYS_S -D_ASM $(CPPFLAGS)
LDLIBS= -t -R/usr/ucblib -L$(ROOT)/usr/ucblib $(LDLIBS.lib) \
-lucb -lc -lnsl -lsocket
# SONAME is used by DYNFLAGS
$(DYNLIB4X) := SONAME = $(DYNLIB4X)
$(DYNLIBS5) := SONAME = $(DYNLIBS5)
pics/%.o:= ASFLAGS += -K pic -DPIC
pics/%.o:= CPPFLAGS += -K pic -DPIC
s5pics/%.o:= ASFLAGS += -K pic -DPIC
BUILD.s= $(AS) $(ASFLAGS) $< -o $@
# libbc method of building an archive
BUILD.AR= $(RM) $@ ; \
$(AR) q $@ $(OBJECTS:%=$(DIR)/%)
# the TXTS macro is used for NSE bootstrapping.
TXTS= inc/SYS.h inc/PIC.h inc/machine/asm_linkage.h
LIBS = $(DYNLIB4X) $(DYNLIBS5)
OBJECTS= $(COMPATCOM) $(COMPAT4.1) $(CRTSPARC) $(GENCOM) \
$(GENCOMSPARC) $(GEN4.2) $(STDIOCOM) $(STDIO4.2) \
$(INET) $(NET) $(NETSPARC) $(YP) \
$(SYSCOM) $(SYSCOMSPARC) $(SYS4.2)
#
# Since this library is strictly for binary compability with ancient
# applications, we deactivate CTF to avoid kicking up dust.
#
CTFCONVERT_POST = :
CTFMERGE_LIB = :
S5OBJECTS= $(COMPATCOM) $(COMPATSYS5) $(CRTSPARC) $(GENCOM) \
$(GENCOMSPARC) $(GENSYS5) $(STDIOCOM) $(STDIOSYS5) \
$(SYSCOM) $(SYSCOMSPARC) $(SYSSYS5) $(SSYS5SPARC) \
$(INET) $(NET) $(NETSPARC) $(YP)
S5PICOBJS= $(S5OBJECTS:%=s5pics/%)
CLEANFILES= ../libc/yp/ypupdate_prot.c ../inc/include/rpcsvc/ypupdate_prot.h \
../libc/compat/sys5/epoch.h \
$(S5PICOBJS)
CLOBBERFILES= ../libc/compat/sys5/mkepoch
# conditional assignments
s5pics/%.o:= CPPFLAGS = -Dsparc -DS5EMUL -K pic -DPIC -I. -Iinc \
-I../inc/5include -I../inc/include -I../inc/include/sys \
$(CPPFLAGS.master)
s5pics/%.o := CFLAGS += -xregs=no%appl
pics/%.o := CFLAGS += -xregs=no%appl
$(DYNLIB4X):= DIR = pics
$(DYNLIBS5):= DIR = s5pics
.KEEP_STATE:
# Declare that all .o's can be made in parallel.
.PARALLEL: $(PICS) $(S5PICOBJS)
all: $(TXTS) $(LIBS)
$(DYNLIB4X): pics .WAIT $(PICS)
$(CC) -o $@ -G $(DYNFLAGS) $(PICS) $(LDLIBS)
$(POST_PROCESS_SO)
$(DYNLIBS5): s5pics .WAIT $(S5PICOBJS)
$(CC) -o $@ -G $(DYNFLAGS) $(S5PICOBJS) $(LDLIBS)
$(POST_PROCESS_SO)
# include common library targets
include ../../Makefile.targ
s5pics:
-@mkdir -p $@
# special cases
PSEUDO_POBJS= $(PSEUDO_SRCS:%.s=pics/%.o)
PSEUDO_PS5OBJS= $(PSEUDO_SRCS:%.s=s5pics/%.o)
$(PSEUDO_POBJS) $(PSEUDO_PS5OBJS):
@(echo '#include "SYS.h"'; \
echo ' SYSCALL($(@F:.o=))'; \
echo ' RET'; \
echo ' SET_SIZE($(@F:.o=))') > tmp.$(@F:.o=).s
$(AS) $(ASFLAGS) -o $@ tmp.$(@F:.o=).s
$(POST_PROCESS_O)
@$(RM) tmp.$(@F:.o=).s
s5pics/times.o : ../libc/compat/sys5/epoch.h ../libc/compat/sys5/times.c
$(COMPILE.c) -o $@ ../libc/compat/sys5/times.c
$(POST_PROCESS_O)
../libc/compat/sys5/epoch.h: ../libc/compat/sys5/mkepoch
../libc/compat/sys5/mkepoch > $@
../libc/compat/sys5/mkepoch: ../libc/compat/sys5/mkepoch.c
$(NATIVECC) -O -o $@ ../libc/compat/sys5/mkepoch.c
pics/maperror.o s5pics/maperror.o: ../libc/sys/common/maperror.c
$(CC) -I../libc/sys/common $(CPPFLAGS) $(CFLAGS) -c -o $@ ../libc/sys/common/maperror.c
#
# The following rules generate the .h file and XDR routines from the
# rpcgen source. Objects built here, look for it here. Further, when
# building ypupdated it should look here too, but doesn't at the moment.
#
# It would be nice to use a ".x.h" rule for this, but that causes problems.
#
pics/yp_update.o \
s5pics/yp_update.o : ../inc/include/rpcsvc/ypupdate_prot.h ../libc/yp/yp_update.c
$(COMPILE.c) -o $@ ../libc/yp/yp_update.c
$(POST_PROCESS_O)
pics/ypupdate_prot.o s5pics/ypupdate_prot.o : ../inc/include/rpcsvc/ypupdate_prot.h\
../libc/yp/ypupdate_prot.c
$(COMPILE.c) -o $@ ../libc/yp/ypupdate_prot.c
$(POST_PROCESS_O)
../libc/yp/ypupdate_prot.c: ../libc/yp/ypupdate_prot.x
$(RM) $@
$(RPCGEN) -c -o $@ ../libc/yp/ypupdate_prot.x
../libc/yp/ypupdate_prot.h: ../libc/yp/ypupdate_prot.x
$(RM) $@ ../libc/yp/ypupdate_prot.h
$(RPCGEN) -h -o ../libc/yp/ypupdate_prot.h ../libc/yp/ypupdate_prot.x
../inc/include/rpcsvc/ypupdate_prot.h: ../libc/yp/ypupdate_prot.h
cp ../libc/yp/ypupdate_prot.h $@