167 lines
4.0 KiB
Makefile
167 lines
4.0 KiB
Makefile
#
|
|
# @(#)Makefile.obj 1.1 94/10/31
|
|
# Copyright (c) 1987, 1988, 1988 Sun Microsystems
|
|
#
|
|
#
|
|
# Makefile for Sun-4c SunOS
|
|
#
|
|
# This makefile is constructed from a machine description:
|
|
# config machine
|
|
# Most changes should be made in the machine description
|
|
# /sys/conf/``machineid''
|
|
# after which you should do
|
|
# config machineid
|
|
# Generic makefile changes should be made in
|
|
# /sys/conf/Makefile.src
|
|
# after which config should be rerun for all machines.
|
|
#
|
|
# N.B.: NO DEPENDENCIES ON FOLLOWING FLAGS ARE VISIBLE TO MAKEFILE
|
|
# IF YOU CHANGE THE DEFINITION OF ANY OF THESE RECOMPILE EVERYTHING
|
|
#
|
|
# -DTRACE compile in kernel tracing hooks
|
|
# -DQUOTA compile in file system quotas
|
|
#
|
|
ARCH= sun4m
|
|
CPP= /lib/cpp -undef -Dsparc -Dsun
|
|
CC= cc -sparc
|
|
AS= as
|
|
LD= ld
|
|
AWK= awk
|
|
GREP= egrep
|
|
DESTDIR=
|
|
SYSDIR= ../..
|
|
CONFDIR=../../conf.common
|
|
MACHINE= ..
|
|
LDIR= /usr/lib/lint
|
|
LINT= /usr/bin/lint
|
|
LINT1= ${LDIR}/lint1
|
|
LINT2= ${LDIR}/lint2
|
|
LCOPTS= -C -Dlint ${CPPOPTS}
|
|
LOPTS= -hbxn
|
|
LTMP= /usr/tmp/lintkernel.ln
|
|
LTAIL= ${GREP} -v 'struct/union .* never defined' | \
|
|
${GREP} -v 'possible pointer alignment problem' ; true
|
|
|
|
LIBPROMDIR= $(SYSDIR)/$(ARCH)
|
|
LIBPROM= $(LIBPROMDIR)/libprom.a
|
|
LINTPROM= $(LIBPROMDIR)/llib-lprom.ln
|
|
|
|
CPPOPTS=${IDENT} -DKERNEL -I. -I${MACHINE} -I${SYSDIR}
|
|
COPTS= ${CPPOPTS}
|
|
CFLAGS= -O ${COPTS}
|
|
|
|
%OBJS
|
|
|
|
%CONFFILES
|
|
|
|
%CFILES
|
|
|
|
%SFILES
|
|
|
|
OBJS += $(LIBPROM)
|
|
#LFILES += $(LINTPROM)
|
|
|
|
%LOAD
|
|
|
|
clean:
|
|
-rm -f eddep vmunix* *vmunix tags tags.list *.o *.pp *.L *errs \
|
|
makedep* makelinks `ls *.s | ${GREP} -v mbglue.s`
|
|
|
|
lint: Locore.L ${LFILES}
|
|
@ln -s $(LIBPROMDIR)/llib-lprom.ln $(LDIR)/llib-lprom.ln
|
|
@cat Locore.L ${LFILES} > ${LTMP}
|
|
@echo "Global Cross-checks:"
|
|
@${LINT} ${LOPTS} -lprom ${LTMP}
|
|
@-rm -f $(LDIR)/llib-lprom.ln
|
|
@-rm -f ${LTMP}
|
|
lint2:
|
|
@cat Locore.L ${LFILES} > ${LTMP}
|
|
@echo "Global Cross-checks:"
|
|
@${LINT2} ${LTMP} ${LOPTS}
|
|
@-rm -f ${LTMP}
|
|
|
|
${SYSDIR}/sun/symbols.sort: ${SYSDIR}/sun/symbols.raw
|
|
${GREP} -v '^#' ${SYSDIR}/sun/symbols.raw \
|
|
| sed 's/^ //' | sort -u > ${SYSDIR}/sun/symbols.sort
|
|
|
|
vers.o: ${CONFDIR}/newvers.sh ${CONFDIR}/RELEASE
|
|
@sh ${CONFDIR}/newvers.sh ${CONFDIR}/RELEASE ${ARCH}
|
|
@${CC} ${CFLAGS} -c vers.c
|
|
|
|
# the following is necessary because files depend on #if GENERIC
|
|
autoconf.o stubs.o : Makefile
|
|
|
|
# the following are necessary because the files depend on the types of
|
|
# sun cpu's included in the system configuration
|
|
machdep.o autoconf.o conf.o : Makefile
|
|
|
|
# depend on network configuration
|
|
af.o uipc_proto.o : Makefile
|
|
|
|
# depend on options
|
|
init_sysent.o vfs_conf.o : Makefile
|
|
|
|
depend: makedep
|
|
echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep
|
|
echo '$$r makedep' >>eddep
|
|
echo 'w' >>eddep
|
|
cp Makefile Makefile.bak
|
|
ex - Makefile < eddep
|
|
rm eddep makedep makedep1 makedeperrs
|
|
|
|
makedep: ${CONFFILES} FRC
|
|
@cat /dev/null >makedep
|
|
-(for i in ${CFILES} ${SFILES} ; do \
|
|
${CPP} -M ${CPPOPTS} ${SYSDIR}/$$i >> makedep; done) \
|
|
2>makedeperrs
|
|
sed \
|
|
-e 's,^.*genassym\.o:,assym.s assym.L:,' \
|
|
-e 's,^\(.*\)\.o:,\1.o \1.L:,' makedep > makedep1
|
|
-(for i in ${CONFFILES} ; do \
|
|
${CPP} -M ${CPPOPTS} $$i | sed \
|
|
-e 's,^\(.*\)\.o:,\1.o \1.L:,' >>makedep1; done) \
|
|
2>>makedeperrs
|
|
${AWK} ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \
|
|
else { if (length(rec $$3) > 78) { print rec; rec = $$0; } \
|
|
else rec = rec " " $$3 } } \
|
|
END { print rec } ' makedep1 > makedep
|
|
@cat makedeperrs
|
|
@(if [ -s makedeperrs ]; then false; fi)
|
|
|
|
FRC:
|
|
|
|
Locore.L:
|
|
@echo Locore.c:
|
|
@-(${CPP} ${LCOPTS} ${MACHINE}/Locore.c | \
|
|
${LINT1} ${LOPTS} > Locore.L ) 2>&1 | ${LTAIL}
|
|
|
|
mbglue.o:
|
|
${CPP} -DLOCORE ${CPPOPTS} mbglue.s >mbglue.pp
|
|
${AS} -o mbglue.o mbglue.pp
|
|
rm -f mbglue.pp
|
|
|
|
ioconf.o:
|
|
${CC} -c ${CFLAGS} ioconf.c
|
|
|
|
ioconf.L:
|
|
@echo ioconf.c:
|
|
@-(${CPP} ${LCOPTS} ioconf.c | \
|
|
${LINT1} ${LOPTS} > ioconf.L ) 2>&1 | ${LTAIL}
|
|
|
|
param.c: ${CONFDIR}/param.c
|
|
-rm -f param.c
|
|
cp ${CONFDIR}/param.c .
|
|
|
|
param.o: param.c Makefile
|
|
${CC} -c ${CFLAGS} ${PARAM} param.c
|
|
|
|
param.L:
|
|
@echo param.c:
|
|
@-(${CPP} ${LCOPTS} ${PARAM} ${CONFDIR}/param.c | \
|
|
${LINT1} ${LOPTS} > param.L ) 2>&1 | ${LTAIL}
|
|
|
|
%RULES
|
|
|
|
# DO NOT DELETE THIS LINE -- make depend uses it
|
|
|