Makefile.vax revision 1.3
11.2Sragge# from: @(#)Makefile.vax 7.18 (Berkeley) 12/16/90 21.3Sragge# $Id: Makefile.vax,v 1.3 1994/10/08 15:42:28 ragge Exp $ 31.1Sragge# 41.1Sragge# This makefile is constructed from a machine description: 51.1Sragge# config machineid 61.1Sragge# Most changes should be made in the machine description 71.1Sragge# /sys/vax/conf/``machineid'' 81.1Sragge# after which you should do 91.1Sragge# config machineid 101.1Sragge# Machine generic makefile changes should be made in 111.1Sragge# /sys/conf/Makefile.``machinetype'' 121.1Sragge# after which config should be rerun for all machines of that type. 131.1Sragge# 141.1Sragge# N.B.: NO DEPENDENCIES ON FOLLOWING FLAGS ARE VISIBLE TO MAKEFILE 151.1Sragge# IF YOU CHANGE THE DEFINITION OF ANY OF THESE RECOMPILE EVERYTHING 161.1Sragge# 171.1Sragge# -DTRACE compile in kernel tracing hooks 181.1Sragge# -DQUOTA compile in file system quotas 191.1Sragge# -DUUDMA compile in unibus tu58 pseudo-dma code 201.1Sragge# 211.1SraggeC2= /usr/libexec/cc1 221.1SraggeCC= cc 231.1SraggeCPP= cpp 241.1SraggeLD= /usr/bin/ld 251.3SraggeAWK= awk 261.1Sragge 271.1SraggeS= ../../../.. 281.1SraggeVAX= ../.. 291.1Sragge 301.1SraggeINCLUDES= -I. -I$S/arch -I$S -I$S/sys 311.1SraggeCOPTS= ${INCLUDES} ${IDENT} -DKERNEL 321.1SraggeAOPTS= ${COPTS} -DASSEMBLER 331.1SraggeCFLAGS= ${COPTS} 341.1SraggeLOAD_ADDRESS=80000000 351.1Sragge 361.1SraggeINLINECMD= ${VAX}/inline/obj/inline 371.1SraggeINLINE= ${INLINECMD} ${INLINEOPTS} 381.1Sragge 391.1Sragge#AHEADS= ${VAX}/vax/pcb.m 401.1Sragge 411.1Sragge### find out what to use for libkern 421.1Sragge.include "$S/lib/libkern/Makefile.inc" 431.1Sragge.ifndef PROF 441.1SraggeLIBKERN=../../../../lib/libkern/libkern.a # ${KERNLIB} 451.1Sragge.else 461.1SraggeLIBKERN= ${KERNLIB_PROF} 471.1Sragge.endif 481.1Sragge 491.1SraggeNORMAL_C= ${CC} -c ${CFLAGS} ${PROF} $< 501.1SraggeNORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $< 511.1SraggeNORMAL_S= ${CPP} -I. -DLOCORE ${COPTS} $< | ${AS} ${ASFLAGS} -o $*.o 521.1SraggeDRIVER_C= ${CC} -c ${CFLAGS} ${PROF} $< 531.1SraggeDRIVER_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $< 541.3SraggeSYSTEM_ASMS=intvec.o subr.o 551.3SraggeSYSTEM_OBJS=${SYSTEM_ASMS} vnode_if.o ${OBJS} glue.o param.o ioconf.o ${LIBKERN} 561.1Sragge#SYSTEM_DEP=${SYSTEM_ASMS} lovm.o pmap.o 571.1SraggeSYSTEM_DEP=${SYSTEM_ASMS} ${SYSTEM_OBJS} 581.1SraggeSYSTEM_LD_HEAD= @echo loading $@; rm -f $@ 591.3SraggeSYSTEM_LD= ${LD} -d -e _start -T ${LOAD_ADDRESS} -o $@ ${SYSTEM_OBJS} vers.o 601.1Sragge#SYSTEM_LD_TAIL= @echo rearranging symbols; symorder symbols.sort $@; ${DBSYM} -f 611.1SraggeSYSTEM_LD_TAIL=@echo Nu {r k{rnan klar!!!! 621.1Sragge 631.1Sragge 641.1Sragge%OBJS 651.1Sragge 661.1Sragge%CFILES 671.1Sragge 681.1Sragge%LOAD 691.1Sragge 701.1Sraggeclean: 711.3Sragge rm -f eddep *vmunix tags *.o subr.i [a-tv-z]*.s \ 721.3Sragge Errs errs linterrs makelinks vnode_if.* 731.1Sragge 741.1Sraggelint: /tmp param.c 751.1Sragge @lint -hbxn -DGENERIC ${COPTS} ${PARAM} \ 761.1Sragge ${VAX}/vax/Locore.c ${CFILES} ioconf.c param.c | \ 771.1Sragge grep -v 'struct/union .* never defined' | \ 781.1Sragge grep -v 'possible pointer alignment problem' 791.1Sragge 801.1Sraggesymbols.sort: ${VAX}/vax/symbols.raw 811.1Sragge grep -v '^#' ${VAX}/vax/symbols.raw \ 821.1Sragge | sed 's/^ //' | sort -u > symbols.sort 831.1Sragge 841.1Sragge${INLINECMD}: 851.1Sragge cd ${VAX}/inline; make 861.1Sragge 871.1Sraggeintvec.o: ${VAX}/vax/intvec.s 881.1Sragge ${CC} -x assembler-with-cpp -E ${AOPTS} ${VAX}/vax/intvec.s| as -o intvec.o 891.1Sragge 901.3Sraggesubr.o: ${VAX}/vax/subr.s 911.3Sragge ${CC} -x assembler-with-cpp -E ${AOPTS} ${VAX}/vax/subr.s| as -o subr.o 921.1Sragge 931.1Sragge# 941.1Sragge# Den h{r filen borde st{das upp och fixas till, det blir nog n{r 951.1Sragge# glue-filerna g|r vad dom ska :) 961.1Sragge 971.1Sragge#emulate.o: ${VAX}/vax/emulate.s 981.1Sragge# cpp -I. ${COPTS} ${VAX}/vax/emulate.s | ${AS} -o emulate.o 991.1Sragge 1001.1Sragge# the following is necessary because autoconf.o depends on #if GENERIC 1011.1Sraggeautoconf.o tu.o: Makefile 1021.1Sragge 1031.1Sragge# the following are necessary because the files depend on the types of 1041.1Sragge# vax cpu's included in the system configuration 1051.1Sraggeclock.o machdep.o autoconf.o conf.o cons.o cpudata.o : Makefile 1061.1Sraggecrl.o flp.o mba.o uba.o vaxcpu.o : Makefile 1071.1Sragge 1081.1Sragge# depend on network configuration 1091.3Sragge#af.o uipc_proto.o uipc_domain.o subr.o: Makefile 1101.1Sragge 1111.1Sragge# depends on kdb being configured 1121.1Sraggetrap.o: Makefile 1131.1Sragge 1141.1Sragge# depend on maxusers 1151.1Sraggeassym.s: Makefile 1161.1Sragge 1171.1Sraggeassym.s: genassym 1181.1Sragge ./genassym >assym.s 1191.1Sragge 1201.1Sraggegenassym: 1211.1Sragge ${CC} ${INCLUDES} ${IDENT} ${PARAM} -o genassym ${VAX}/vax/genassym.c 1221.1Sragge 1231.1Sraggedepend: assym.s ${CFILES} 1241.1Sragge mkdep ${COPTS} ${.ALLSRC:M*.c} ioconf.c 1251.1Sragge mkdep -a -p ${INCLUDES} ${IDENT} ${PARAM} ${VAX}/vax/genassym.c 1261.1Sragge 1271.1Sraggelinks: 1281.1Sragge egrep '#if' ${CFILES} | sed -f $S/conf/defines | \ 1291.1Sragge sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink 1301.1Sragge echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ 1311.1Sragge sort -u | comm -23 - dontlink | \ 1321.1Sragge sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks 1331.1Sragge echo 'rm -f udiv.o;ln -s ../GENERIC/udiv.o udiv.o' >> makelinks 1341.1Sragge echo 'rm -f urem.o;ln -s ../GENERIC/urem.o urem.o' >> makelinks 1351.1Sragge sh makelinks && rm -f dontlink 1361.1Sragge 1371.1Sraggetags: 1381.1Sragge @echo "see $S/kern/Makefile for tags" 1391.1Sragge 1401.1Sraggeioconf.o: 1411.1Sragge ${CC} -c ${CFLAGS} ${PARAM} ioconf.c 1421.1Sragge 1431.1Sragge# ${CC} -c -S ${COPTS} ioconf.c 1441.1Sragge# cat ioconf.s | ${INLINE} | ${AS} -o ioconf.o 1451.1Sragge# rm -f ioconf.s 1461.1Sragge 1471.1Sraggeparam.c: $S/conf/param.c 1481.1Sragge rm -f param.c 1491.1Sragge cp $S/conf/param.c . 1501.1Sragge 1511.1Sraggeparam.o: param.c Makefile 1521.1Sragge ${CC} -c ${CFLAGS} ${PARAM} param.c 1531.1Sragge 1541.1Sraggeglue.o: ${VAX}/vax/glue.c 1551.2Sragge ${CC} -c ${CFLAGS} ${PARAM} ${VAX}/vax/glue.c 1561.1Sragge 1571.1Sraggeconf.o: ${VAX}/vax/conf.c 1581.2Sragge ${CC} -c -traditional ${CFLAGS} ${PARAM} ${VAX}/vax/conf.c 1591.1Sragge 1601.1Sraggenewvers: 1611.1Sragge sh $S/conf/newvers.sh 1621.1Sragge ${CC} ${CFLAGS} -c vers.c 1631.3Sragge 1641.3Sraggevnode_if.c vnode_if.h : $S/kern/vnode_if.sh $S/kern/vnode_if.src 1651.3Sragge AWK="${AWK}" sh $S/kern/vnode_if.sh $S/kern/vnode_if.src 1661.3Sragge 1671.1Sragge 1681.1Sragge%RULES 169