4.4BSD/usr/src/contrib/sun.sharedlib/lang/rtld/MakeCommon
# This source code is a product of Sun Microsystems, Inc. and is provided
# for unrestricted use provided that this legend is included on all tape
# media and as a part of the software program in whole or part. Users
# may copy or modify this source code without charge, but are not authorized
# to license or distribute it to anyone else except as part of a product or
# program developed by the user.
#
# THIS PROGRAM CONTAINS SOURCE CODE COPYRIGHTED BY SUN MICROSYSTEMS, INC.
# SUN MICROSYSTEMS, INC., MAKES NO REPRESENTATIONS ABOUT THE SUITABLITY
# OF SUCH SOURCE CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT
# EXPRESS OR IMPLIED WARRANTY OF ANY KIND. SUN MICROSYSTEMS, INC. DISCLAIMS
# ALL WARRANTIES WITH REGARD TO SUCH SOURCE CODE, INCLUDING ALL IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN
# NO EVENT SHALL SUN MICROSYSTEMS, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT,
# INCIDENTAL, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
# FROM USE OF SUCH SOURCE CODE, REGARDLESS OF THE THEORY OF LIABILITY.
#
# This source code is provided with no support and without any obligation on
# the part of Sun Microsystems, Inc. to assist in its use, correction,
# modification or enhancement.
#
# SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
# INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS
# SOURCE CODE OR ANY PART THEREOF.
#
# Sun Microsystems, Inc.
# 2550 Garcia Avenue
# Mountain View, California 94043
# Copyright (c) 1991 Sun Microsystems, Inc.
#
# @(#)MakeCommon 1.25 91/04/12 SMI
#
LDSO = ld.so
BINS = ldconfig ld.so
MID = ..
LD_DIR = ../../ld
HDRS = ../rtld.h ../cache.h ../../ld/dynamic.h ../../ld/reloc_info.h \
./assym.h
LDSO_OBJS = rtldlib.o rtld.o rtsubrs.o cache_rtld.o cache_common.o verscmp.o\
errors.o
LDCONFIG_OBJS = ldconfig.o cache_common.o verscmp.o
CHECK_OBJS = check_stack.o
m-mc68010 = sun
m-mc68020 = sun
m-sparc = sparc
MD = $(m$(TARGET_MACH))
d-mc68020 = m68k
d-mc68010 = m68k
d-sparc = sparc
MACH = $(d$(TARGET_MACH))
arch-sun2=SUN2
arch-sun3=SUN3
arch-sun3x=SUN3
arch-sun4=SUN4
arch-sun4c=SUN4
TARGET = $(arch$(TARGET_ARCH))
INCLUDE = -I.. -I../../ld
CPPFLAGS += -DPIC -I.. $(INCLUDE)
LINTFLAGS += -bx $(INCLUDE)
CCFLAGS += -O3 -D$(MD) -DSUN2=0 -DSUN3=1 -DSUN4=2\
-DTARGET=$(TARGET) $(INCLUDE)
CFLAGS += -pic $(CCFLAGS)
ASFLAGS += -k
CPP = /lib/cpp
check_stack.o ldconfig.o rtldlib.o rtld.o rtsubrs.o cache_rtld.o \
cache_common.o errors.o := \
DIR = $(MID)
verscmp.o := DIR = $(LD_DIR)
errors.o := CFLAGS += -R
ldconfig := LDFLAGS += -n -Bdynamic
ld.so := LDFLAGS += -Bsymbolic -assert pure-text
ld.so: $(HDRS) $(LDSO_OBJS) check_stack
check_stack
$(LD) $(LDFLAGS) -o $@ $(LDSO_OBJS) -L. -lc_pic
ldconfig: $(HDRS) $(LDCONFIG_OBJS)
$(CC) $(LDFLAGS) -o $@ $(LDCONFIG_OBJS)
check_stack: $(CHECK_OBJS)
$(CC) -o $@ $(CHECK_OBJS)
%.o: $$(DIR)/%.c
${CC} ${CFLAGS} -c $<
%.o: %.s
${CPP} ${CPPFLAGS} $< > tmp.s
${AS} ${ASFLAGS} tmp.s
mv -f a.out $*.o
rm -f tmp.s
assym.h : $(MID)/genassym.c
${CC} ${CFLAGS} $(MID)/genassym.c
a.out >$@
rm a.out
install: $(BINS)
install -s ld.so $(DESTDIR)/usr/lib/$(LDSO)+
if [ -z "$(DESTDIR)" ]; then \
rm -f $(DESTDIR)/usr/lib/$(LDSO)-; \
mv $(DESTDIR)/usr/lib/$(LDSO) $(DESTDIR)/usr/lib/$(LDSO)-; \
fi;
mv $(DESTDIR)/usr/lib/$(LDSO)+ $(DESTDIR)/usr/lib/$(LDSO)
chmod 555 $(DESTDIR)/usr/lib/$(LDSO)
install -s ldconfig $(DESTDIR)/usr/etc
masterclean:
-rm -f ld.so ldconfig core *.o assym.h
masterlint :
lint $(LINTFLAGS) $(CCFLAGS) $(RTLD_SRCS) $(LD_SRCS)