1*55641Sbostic# @(#)Makefile.vax 7.22 (Berkeley) 07/23/92 245799Sbostic 345799Sbostic# Makefile for 4.4 BSD 49418Ssam# 59418Ssam# This makefile is constructed from a machine description: 624902Skarels# config machineid 79418Ssam# Most changes should be made in the machine description 845799Sbostic# /sys/vax/conf/``machineid'' 99418Ssam# after which you should do 109418Ssam# config machineid 1145799Sbostic# Machine generic makefile changes should be made in 1224902Skarels# /sys/conf/Makefile.``machinetype'' 1345799Sbostic# after which config should be rerun for all machines of that type. 149418Ssam# 159418Ssam# N.B.: NO DEPENDENCIES ON FOLLOWING FLAGS ARE VISIBLE TO MAKEFILE 169418Ssam# IF YOU CHANGE THE DEFINITION OF ANY OF THESE RECOMPILE EVERYTHING 179418Ssam# 189418Ssam# -DTRACE compile in kernel tracing hooks 1912585Ssam# -DQUOTA compile in file system quotas 2013907Ssam# -DUUDMA compile in unibus tu58 pseudo-dma code 219418Ssam# 2255595SsklowerC2= /usr/libexec/c2 2355595SsklowerLD= /usr/bin/ld 249418Ssam 2545799SbosticS= ../.. 2655595SsklowerVAX= ../../vax 2745799Sbostic 2845799SbosticINCLUDES= -I. -I$S -I$S/sys 2917172SbloomCOPTS= ${INCLUDES} ${IDENT} -DKERNEL 309418SsamCFLAGS= -O ${COPTS} 319418Ssam 3245799SbosticINLINECMD= ${VAX}/inline/obj/inline 3345799SbosticINLINE= ${INLINECMD} ${INLINEOPTS} 349418Ssam 3555595SsklowerAHEADS= ${VAX}/vax/pcb.m 3645799Sbostic 379418Ssam%OBJS 389418Ssam 399418Ssam%CFILES 409418Ssam 419418Ssam%LOAD 429418Ssam 439418Ssamclean: 4455595Ssklower rm -f eddep *vmunix tags *.o locore.i [a-tv-z]*.s \ 4555595Ssklower Errs errs linterrs makelinks 469418Ssam 4726396Skarelslint: /tmp param.c 4831023Skarels @lint -hbxn -DGENERIC ${COPTS} ${PARAM} \ 4945799Sbostic ${VAX}/vax/Locore.c ${CFILES} ioconf.c param.c | \ 509418Ssam grep -v 'struct/union .* never defined' | \ 519418Ssam grep -v 'possible pointer alignment problem' 529418Ssam 5345799Sbosticsymbols.sort: ${VAX}/vax/symbols.raw 5445799Sbostic grep -v '^#' ${VAX}/vax/symbols.raw \ 5545799Sbostic | sed 's/^ //' | sort -u > symbols.sort 569418Ssam 5745799Sbostic${INLINECMD}: 5845799Sbostic cd ${VAX}/inline; make 5916478Ssam 6045799Sbosticlocore.o: assym.s ${AHEADS} ${VAX}/vax/rpb.s ${VAX}/vax/scb.s ubvec.s 6145799Sbosticlocore.o: ${VAX}/vax/locore.s ubglue.s ${VAX}/include/mtpr.h 6245799Sbosticlocore.o: ${VAX}/include/trap.h ${VAX}/include/psl.h ${VAX}/include/pte.h 6345799Sbosticlocore.o: ${VAX}/include/cpu.h mba.h 6445799Sbosticlocore.o: 6545799Sbostic cat assym.s ${VAX}/vax/rpb.s ${VAX}/vax/scb.s ubvec.s \ 6645799Sbostic ${VAX}/vax/locore.s ubglue.s > locore.c 6745799Sbostic ${CC} -E -DLOCORE ${COPTS} locore.c > locore.i 689418Ssam @echo 'as -o locore.o $${AHEADS} locore.i' 6955595Ssklower @as -o locore.o ${AHEADS} locore.i 709418Ssam @rm locore.i 719418Ssam 7255595Sskloweremulate.o: ${VAX}/vax/emulate.s 7355595Ssklower cpp -I. ${COPTS} ${VAX}/vax/emulate.s | ${AS} -o emulate.o 7455595Ssklower 759418Ssam# the following is necessary because autoconf.o depends on #if GENERIC 7624902Skarelsautoconf.o tu.o: Makefile 779418Ssam 789418Ssam# the following are necessary because the files depend on the types of 799418Ssam# vax cpu's included in the system configuration 8055595Ssklowerclock.o machdep.o autoconf.o conf.o cons.o cpudata.o : Makefile 8124902Skarelscrl.o flp.o mba.o uba.o vaxcpu.o : Makefile 8224902Skarels 839418Ssam# depend on network configuration 8429552Smckusickaf.o uipc_proto.o uipc_domain.o locore.o: Makefile 8524902Skarels 8630755Skarels# depends on kdb being configured 8730755Skarelstrap.o: Makefile 8830755Skarels 8955595Ssklower# depend on maxusers 9055595Ssklowerassym.s: Makefile 9155595Ssklower 9239052Skarelsassym.s: genassym 9339052Skarels ./genassym >assym.s 949418Ssam 9555595Ssklowergenassym: 9645799Sbostic ${CC} ${INCLUDES} ${IDENT} ${PARAM} -o genassym ${VAX}/vax/genassym.c 9739052Skarels 9845799Sbosticdepend: assym.s ${CFILES} 9945799Sbostic mkdep ${COPTS} ${.ALLSRC:M*.c} ioconf.c 10045799Sbostic mkdep -a -p ${INCLUDES} ${IDENT} ${PARAM} ${VAX}/vax/genassym.c 1019418Ssam 1029418Ssamlinks: 10345799Sbostic egrep '#if' ${CFILES} | sed -f $S/conf/defines | \ 1049418Ssam sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink 1059418Ssam echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ 1069418Ssam sort -u | comm -23 - dontlink | \ 1079418Ssam sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks 1089418Ssam echo 'rm -f udiv.o;ln -s ../GENERIC/udiv.o udiv.o' >> makelinks 1099418Ssam echo 'rm -f urem.o;ln -s ../GENERIC/urem.o urem.o' >> makelinks 1109418Ssam sh makelinks && rm -f dontlink 1119418Ssam 1129418Ssamtags: 11345799Sbostic @echo "see $S/kern/Makefile for tags" 1149418Ssam 11555595Ssklowerioconf.o: 11655595Ssklower ${CC} -c -S ${COPTS} ioconf.c 11755595Ssklower ${C2} ioconf.s | ${INLINE} | ${AS} -o ioconf.o 11855595Ssklower rm -f ioconf.s 11955595Ssklower 12045799Sbosticparam.c: $S/conf/param.c 12145799Sbostic rm -f param.c 12245799Sbostic cp $S/conf/param.c . 1239418Ssam 12455595Ssklowerparam.o: param.c Makefile 12555595Ssklower ${CC} -c ${CFLAGS} ${PARAM} param.c 1269418Ssam 127*55641Sbosticvnode_if.c: $S/kern/vnode_if.sh $S/kern/vnode_if.src 128*55641Sbostic sh $S/kern/vnode_if.sh $S/kern/vnode_if.src 129*55641Sbosticvnode_if.h: $S/kern/vnode_if.sh $S/kern/vnode_if.src 130*55641Sbostic sh $S/kern/vnode_if.sh $S/kern/vnode_if.src 131*55641Sbostic 1329418Ssam%RULES 133