Makefile.vax revision 1.6
11.6Sragge# $NetBSD: Makefile.vax,v 1.6 1995/02/23 17:50:57 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.6SraggeNORMAL_S= ${CC} -x assembler-with-cpp -E -I. -DLOCORE ${COPTS} $< | \ 531.6Sragge ${AS} ${ASFLAGS} -o $*.o 541.1SraggeDRIVER_C= ${CC} -c ${CFLAGS} ${PROF} $< 551.1SraggeDRIVER_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $< 561.3SraggeSYSTEM_ASMS=intvec.o subr.o 571.5SraggeSYSTEM_OBJS=${SYSTEM_ASMS} lim.o vnode_if.o ${OBJS} param.o ioconf.o ${LIBKERN} 581.1Sragge#SYSTEM_DEP=${SYSTEM_ASMS} lovm.o pmap.o 591.1SraggeSYSTEM_DEP=${SYSTEM_ASMS} ${SYSTEM_OBJS} 601.1SraggeSYSTEM_LD_HEAD= @echo loading $@; rm -f $@ 611.3SraggeSYSTEM_LD= ${LD} -d -e _start -T ${LOAD_ADDRESS} -o $@ ${SYSTEM_OBJS} vers.o 621.1Sragge#SYSTEM_LD_TAIL= @echo rearranging symbols; symorder symbols.sort $@; ${DBSYM} -f 631.1SraggeSYSTEM_LD_TAIL=@echo Nu {r k{rnan klar!!!! 641.1Sragge 651.1Sragge 661.1Sragge%OBJS 671.1Sragge 681.1Sragge%CFILES 691.1Sragge 701.1Sragge%LOAD 711.1Sragge 721.1Sraggeclean: 731.3Sragge rm -f eddep *vmunix tags *.o subr.i [a-tv-z]*.s \ 741.3Sragge Errs errs linterrs makelinks vnode_if.* 751.1Sragge 761.1Sraggelint: /tmp param.c 771.1Sragge @lint -hbxn -DGENERIC ${COPTS} ${PARAM} \ 781.1Sragge ${VAX}/vax/Locore.c ${CFILES} ioconf.c param.c | \ 791.1Sragge grep -v 'struct/union .* never defined' | \ 801.1Sragge grep -v 'possible pointer alignment problem' 811.1Sragge 821.1Sraggesymbols.sort: ${VAX}/vax/symbols.raw 831.1Sragge grep -v '^#' ${VAX}/vax/symbols.raw \ 841.1Sragge | sed 's/^ //' | sort -u > symbols.sort 851.1Sragge 861.1Sragge${INLINECMD}: 871.1Sragge cd ${VAX}/inline; make 881.1Sragge 891.1Sraggeintvec.o: ${VAX}/vax/intvec.s 901.1Sragge ${CC} -x assembler-with-cpp -E ${AOPTS} ${VAX}/vax/intvec.s| as -o intvec.o 911.1Sragge 921.3Sraggesubr.o: ${VAX}/vax/subr.s 931.3Sragge ${CC} -x assembler-with-cpp -E ${AOPTS} ${VAX}/vax/subr.s| as -o subr.o 941.1Sragge 951.1Sragge# 961.1Sragge# Den h{r filen borde st{das upp och fixas till, det blir nog n{r 971.1Sragge# glue-filerna g|r vad dom ska :) 981.1Sragge 991.1Sragge#emulate.o: ${VAX}/vax/emulate.s 1001.1Sragge# cpp -I. ${COPTS} ${VAX}/vax/emulate.s | ${AS} -o emulate.o 1011.1Sragge 1021.1Sragge# the following is necessary because autoconf.o depends on #if GENERIC 1031.5Sragge#autoconf.o tu.o: Makefile 1041.1Sragge 1051.1Sragge# the following are necessary because the files depend on the types of 1061.1Sragge# vax cpu's included in the system configuration 1071.5Sragge#clock.o machdep.o autoconf.o conf.o cons.o cpudata.o : Makefile 1081.5Sragge#crl.o flp.o mba.o uba.o vaxcpu.o : Makefile 1091.1Sragge 1101.1Sragge# depend on network configuration 1111.3Sragge#af.o uipc_proto.o uipc_domain.o subr.o: Makefile 1121.5Sraggelim.o: Makefile 1131.1Sragge 1141.1Sragge# depends on kdb being configured 1151.5Sragge#trap.o: Makefile 1161.1Sragge 1171.1Sragge# depend on maxusers 1181.1Sraggeassym.s: Makefile 1191.1Sragge 1201.1Sraggeassym.s: genassym 1211.1Sragge ./genassym >assym.s 1221.1Sragge 1231.1Sraggegenassym: 1241.1Sragge ${CC} ${INCLUDES} ${IDENT} ${PARAM} -o genassym ${VAX}/vax/genassym.c 1251.1Sragge 1261.1Sraggedepend: assym.s ${CFILES} 1271.1Sragge mkdep ${COPTS} ${.ALLSRC:M*.c} ioconf.c 1281.1Sragge mkdep -a -p ${INCLUDES} ${IDENT} ${PARAM} ${VAX}/vax/genassym.c 1291.1Sragge 1301.1Sraggelinks: 1311.1Sragge egrep '#if' ${CFILES} | sed -f $S/conf/defines | \ 1321.1Sragge sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink 1331.1Sragge echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ 1341.1Sragge sort -u | comm -23 - dontlink | \ 1351.1Sragge sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks 1361.1Sragge echo 'rm -f udiv.o;ln -s ../GENERIC/udiv.o udiv.o' >> makelinks 1371.1Sragge echo 'rm -f urem.o;ln -s ../GENERIC/urem.o urem.o' >> makelinks 1381.1Sragge sh makelinks && rm -f dontlink 1391.1Sragge 1401.1Sraggetags: 1411.1Sragge @echo "see $S/kern/Makefile for tags" 1421.1Sragge 1431.1Sraggeioconf.o: 1441.1Sragge ${CC} -c ${CFLAGS} ${PARAM} ioconf.c 1451.1Sragge 1461.1Sragge# ${CC} -c -S ${COPTS} ioconf.c 1471.1Sragge# cat ioconf.s | ${INLINE} | ${AS} -o ioconf.o 1481.1Sragge# rm -f ioconf.s 1491.1Sragge 1501.5Sraggelim.o: Makefile 1511.5Sragge ../../conf/mkoldconf.awk < ioconf.c > lim.c 1521.5Sragge ${CC} -O -c ${CFLAGS} ${PARAM} lim.c 1531.5Sragge 1541.1Sraggeparam.c: $S/conf/param.c 1551.1Sragge rm -f param.c 1561.1Sragge cp $S/conf/param.c . 1571.1Sragge 1581.1Sraggeparam.o: param.c Makefile 1591.5Sragge ${CC} -O -c ${CFLAGS} ${PARAM} param.c 1601.1Sragge 1611.1Sraggeconf.o: ${VAX}/vax/conf.c 1621.5Sragge ${CC} -O -c ${CFLAGS} ${PARAM} ${VAX}/vax/conf.c 1631.1Sragge 1641.1Sraggenewvers: 1651.1Sragge sh $S/conf/newvers.sh 1661.1Sragge ${CC} ${CFLAGS} -c vers.c 1671.3Sragge 1681.3Sraggevnode_if.c vnode_if.h : $S/kern/vnode_if.sh $S/kern/vnode_if.src 1691.3Sragge AWK="${AWK}" sh $S/kern/vnode_if.sh $S/kern/vnode_if.src 1701.3Sragge 1711.1Sragge 1721.1Sragge%RULES 173