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