diff options
Diffstat (limited to 'sys/i386/conf/Makefile.i386')
-rw-r--r-- | sys/i386/conf/Makefile.i386 | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/sys/i386/conf/Makefile.i386 b/sys/i386/conf/Makefile.i386 new file mode 100644 index 0000000..7eedfb8 --- /dev/null +++ b/sys/i386/conf/Makefile.i386 @@ -0,0 +1,164 @@ +# Copyright 1990 W. Jolitz +# @(#)Makefile.i386 7.1 5/10/91 +# Makefile for 4.3 BSD-Reno +# +# This makefile is constructed from a machine description: +# config machineid +# Most changes should be made in the machine description +# /sys/i386/conf/``machineid'' +# after which you should do +# config machineid +# Generic makefile changes should be made in +# /sys/i386/conf/Makefile.i386 +# after which config should be rerun for all machines. +# +# N.B.: NO DEPENDENCIES ON FOLLOWING FLAGS ARE INVISIBLE 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 +# +# PATCHES MAGIC LEVEL PATCH THAT GOT US HERE +# -------------------- ----- ---------------------- +# CURRENT PATCH LEVEL: 3 00158 +# -------------------- ----- ---------------------- +# +# 29 Jun 92 Chris G. Demetriou Fix vers.o for kernel profiling and +# plain old link +# 25 Mar 93 Sean Eric Fagan Add support for assembler source +# 25 Apr 93 Bruce Evans Support for intr-0.0, and some fixes +# Rodney W. Grimes Added depedencies for conf.o due to +# all the new drivers. And to param.c +# because there were missing. +# 26 May 97 Rodney W. Grimes Remove extra SYSTEM_LD_TAIL +# Redirect stderr from dbsym to null, +# this is bad, but atleast I won't get +# 100's of bug reports about the silly +# warning from dbsym. +# +TOUCH= touch -f -c +LD= /usr/bin/ld +CC= cc +CPP= cpp + +S= ../.. +I386= ../../i386 + +INCLUDES= -I. -I$S -I$S/sys +COPTS= ${INCLUDES} ${IDENT} -DKERNEL -Di386 -DNPX +ASFLAGS= +CFLAGS= -O ${COPTS} + +NORMAL_C= ${CC} -c ${CFLAGS} ${PROF} $< +NORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $< +NORMAL_S= ${CPP} -I. -DLOCORE ${COPTS} $< | ${AS} ${ASFLAGS} -o $*.o +DRIVER_C= ${CC} -c ${CFLAGS} ${PROF} $< +DRIVER_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $< +SYSTEM_OBJS=locore.o ${OBJS} param.o ioconf.o conf.o +SYSTEM_DEP=Makefile symbols.sort ${SYSTEM_OBJS} +SYSTEM_LD_HEAD= @echo loading $@; rm -f $@ +SYSTEM_LD= @${LD} -z -T FE000000 -o $@ -X vers.o ${SYSTEM_OBJS} +SYSTEM_LD_TAIL= @echo rearranging symbols; symorder symbols.sort $@; \ + dbsym $@ 2>/dev/null || true; size $@; chmod 755 $@ + +GPROF.EX= /usr/src/lib/csu.i386/gprof.ex +PROFILE_C= ${CC} -S -c ${CFLAGS} $< ; \ + ex - $*.s < ${GPROF.EX} ; \ + ${AS} -o $@ $*.s ; \ + rm -f $*.s + +%OBJS + +%CFILES + +%LOAD + +clean: + rm -f eddep *386bsd tags *.o locore.i [a-uw-z]*.s \ + errs linterrs makelinks genassym + +lint: /tmp param.c + @lint -hbxn -I. -DGENERIC -Dvolatile= ${COPTS} ${PARAM} \ + ${I386}/i386/Locore.c ${CFILES} ioconf.c param.c | \ + grep -v 'struct/union .* never defined' | \ + grep -v 'possible pointer alignment problem' + +symbols.sort: ${I386}/i386/symbols.raw + grep -v '^#' ${I386}/i386/symbols.raw \ + | sed 's/^ //' | sort -u > symbols.sort + +locore.o: assym.s ${I386}/i386/locore.s machine/trap.h machine/psl.h \ + machine/pte.h ${I386}/isa/vector.s ${I386}/isa/icu.s \ + $S/sys/errno.h machine/specialreg.h ${I386}/isa/debug.h \ + ${I386}/isa/icu.h ${I386}/isa/isa.h vector.h $S/net/netisr.h + ${CPP} -I. -DLOCORE ${COPTS} ${I386}/i386/locore.s | \ + ${AS} ${ASFLAGS} -o locore.o + +# the following is necessary because autoconf.o depends on #if GENERIC +autoconf.o: Makefile + +# depend on network configuration +af.o uipc_proto.o locore.o: Makefile + +# depend on maxusers +assym.s machdep.o: Makefile + +# depends on KDB (cons.o also depends on GENERIC) +trap.o cons.o: Makefile + +assym.s: $S/sys/param.h machine/pte.h $S/sys/buf.h \ + $S/sys/vmmeter.h \ + $S/sys/proc.h $S/sys/msgbuf.h machine/vmparam.h + +assym.s: genassym + ./genassym >assym.s + +genassym: + ${CC} ${INCLUDES} -DKERNEL ${IDENT} ${PARAM} \ + ${I386}/i386/genassym.c -o genassym + +depend: assym.s param.c + sh /usr/bin/mkdep ${COPTS} ${CFILES} ioconf.c + sh /usr/bin/mkdep -a -p ${INCLUDES} ${IDENT} ${PARAM} ${I386}/i386/genassym.c + +links: + egrep '#if' ${CFILES} | sed -f $S/conf/defines | \ + sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink + echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ + sort -u | comm -23 - dontlink | \ + sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks + sh makelinks && rm -f dontlink + +tags: + @echo "see $S/kern/Makefile for tags" + +ioconf.o: ioconf.c $S/sys/param.h machine/pte.h $S/sys/buf.h \ + ${I386}/isa/isa_device.h ${I386}/isa/isa.h ${I386}/isa/icu.h + ${CC} -c ${CFLAGS} ioconf.c + +conf.o: $S/sys/param.h $S/sys/systm.h $S/sys/buf.h $S/sys/ioctl.h \ + $S/sys/tty.h $S/sys/conf.h \ + as.h bpfilter.h cd.h ch.h com.h dcfclk.h fd.h lpa.h \ + lpt.h pty.h sd.h speaker.h st.h wd.h wt.h \ + ${I386}/i386/conf.c + ${CC} -traditional -c ${CFLAGS} ${I386}/i386/conf.c + +param.c: $S/conf/param.c \ + $S/sys/param.h $S/sys/systm.h $S/sys/socket.h $S/sys/proc.h \ + $S/sys/vnode.h $S/sys/file.h $S/sys/callout.h $S/sys/clist.h \ + $S/sys/mbuf.h $S/ufs/quota.h $S/sys/kernel.h machine/vmparam.h \ + $S/sys/shm.h + -rm -f param.c + cp $S/conf/param.c . + +param.o: param.c Makefile + ${CC} -c ${CFLAGS} ${PARAM} param.c + +newvers: + sh $S/conf/newvers.sh ${KERN_IDENT} ${IDENT} + ${CC} ${CFLAGS} -c vers.c + +%RULES + +# DO NOT DELETE THIS LINE -- make depend uses it + |