Makefile.vax revision 1.9
11.9Schristos# $NetBSD: Makefile.vax,v 1.9 1995/06/24 21:14:40 christos 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.8SjtcCOPTS= ${INCLUDES} ${IDENT} -D_KERNEL 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.9SchristosLIBKERN= ${KERNLIB} 461.1Sragge.else 471.1SraggeLIBKERN= ${KERNLIB_PROF} 481.1Sragge.endif 491.1Sragge 501.9Schristos### find out what to use for libcompat 511.9Schristos.include "$S/compat/common/Makefile.inc" 521.9Schristos.ifndef PROF 531.9SchristosLIBCOMPAT= ${COMPATLIB} 541.9Schristos.else 551.9SchristosLIBCOMPAT= ${COMPATLIB_PROF} 561.9Schristos.endif 571.9Schristos 581.5SraggeNORMAL_C= ${CC} -O -c ${CFLAGS} ${PROF} $< 591.1SraggeNORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $< 601.6SraggeNORMAL_S= ${CC} -x assembler-with-cpp -E -I. -DLOCORE ${COPTS} $< | \ 611.6Sragge ${AS} ${ASFLAGS} -o $*.o 621.1SraggeDRIVER_C= ${CC} -c ${CFLAGS} ${PROF} $< 631.1SraggeDRIVER_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $< 641.3SraggeSYSTEM_ASMS=intvec.o subr.o 651.9SchristosSYSTEM_OBJS=${SYSTEM_ASMS} lim.o vnode_if.o ${OBJS} param.o ioconf.o \ 661.9Schristos ${LIBKERN} ${LIBCOMPAT} 671.1Sragge#SYSTEM_DEP=${SYSTEM_ASMS} lovm.o pmap.o 681.1SraggeSYSTEM_DEP=${SYSTEM_ASMS} ${SYSTEM_OBJS} 691.1SraggeSYSTEM_LD_HEAD= @echo loading $@; rm -f $@ 701.3SraggeSYSTEM_LD= ${LD} -d -e _start -T ${LOAD_ADDRESS} -o $@ ${SYSTEM_OBJS} vers.o 711.1Sragge#SYSTEM_LD_TAIL= @echo rearranging symbols; symorder symbols.sort $@; ${DBSYM} -f 721.1SraggeSYSTEM_LD_TAIL=@echo Nu {r k{rnan klar!!!! 731.1Sragge 741.1Sragge 751.1Sragge%OBJS 761.1Sragge 771.1Sragge%CFILES 781.1Sragge 791.1Sragge%LOAD 801.1Sragge 811.9Schristosclean:: 821.3Sragge rm -f eddep *vmunix tags *.o subr.i [a-tv-z]*.s \ 831.9Schristos Errs errs linterrs makelinks vnode_if.* genassym 841.1Sragge 851.1Sraggelint: /tmp param.c 861.1Sragge @lint -hbxn -DGENERIC ${COPTS} ${PARAM} \ 871.1Sragge ${VAX}/vax/Locore.c ${CFILES} ioconf.c param.c | \ 881.1Sragge grep -v 'struct/union .* never defined' | \ 891.1Sragge grep -v 'possible pointer alignment problem' 901.1Sragge 911.1Sraggesymbols.sort: ${VAX}/vax/symbols.raw 921.1Sragge grep -v '^#' ${VAX}/vax/symbols.raw \ 931.1Sragge | sed 's/^ //' | sort -u > symbols.sort 941.1Sragge 951.1Sragge${INLINECMD}: 961.1Sragge cd ${VAX}/inline; make 971.1Sragge 981.1Sraggeintvec.o: ${VAX}/vax/intvec.s 991.1Sragge ${CC} -x assembler-with-cpp -E ${AOPTS} ${VAX}/vax/intvec.s| as -o intvec.o 1001.1Sragge 1011.3Sraggesubr.o: ${VAX}/vax/subr.s 1021.3Sragge ${CC} -x assembler-with-cpp -E ${AOPTS} ${VAX}/vax/subr.s| as -o subr.o 1031.1Sragge 1041.1Sragge# 1051.1Sragge# Den h{r filen borde st{das upp och fixas till, det blir nog n{r 1061.1Sragge# glue-filerna g|r vad dom ska :) 1071.1Sragge 1081.1Sragge#emulate.o: ${VAX}/vax/emulate.s 1091.1Sragge# cpp -I. ${COPTS} ${VAX}/vax/emulate.s | ${AS} -o emulate.o 1101.1Sragge 1111.1Sragge# the following is necessary because autoconf.o depends on #if GENERIC 1121.5Sragge#autoconf.o tu.o: Makefile 1131.1Sragge 1141.1Sragge# the following are necessary because the files depend on the types of 1151.1Sragge# vax cpu's included in the system configuration 1161.5Sragge#clock.o machdep.o autoconf.o conf.o cons.o cpudata.o : Makefile 1171.5Sragge#crl.o flp.o mba.o uba.o vaxcpu.o : Makefile 1181.1Sragge 1191.1Sragge# depend on network configuration 1201.3Sragge#af.o uipc_proto.o uipc_domain.o subr.o: Makefile 1211.5Sraggelim.o: Makefile 1221.1Sragge 1231.1Sragge# depends on kdb being configured 1241.5Sragge#trap.o: Makefile 1251.1Sragge 1261.1Sragge# depend on maxusers 1271.1Sraggeassym.s: Makefile 1281.1Sragge 1291.1Sraggeassym.s: genassym 1301.1Sragge ./genassym >assym.s 1311.1Sragge 1321.1Sraggegenassym: 1331.1Sragge ${CC} ${INCLUDES} ${IDENT} ${PARAM} -o genassym ${VAX}/vax/genassym.c 1341.1Sragge 1351.1Sraggedepend: assym.s ${CFILES} 1361.1Sragge mkdep ${COPTS} ${.ALLSRC:M*.c} ioconf.c 1371.1Sragge mkdep -a -p ${INCLUDES} ${IDENT} ${PARAM} ${VAX}/vax/genassym.c 1381.1Sragge 1391.1Sraggelinks: 1401.1Sragge egrep '#if' ${CFILES} | sed -f $S/conf/defines | \ 1411.1Sragge sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink 1421.1Sragge echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ 1431.1Sragge sort -u | comm -23 - dontlink | \ 1441.1Sragge sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks 1451.1Sragge echo 'rm -f udiv.o;ln -s ../GENERIC/udiv.o udiv.o' >> makelinks 1461.1Sragge echo 'rm -f urem.o;ln -s ../GENERIC/urem.o urem.o' >> makelinks 1471.1Sragge sh makelinks && rm -f dontlink 1481.1Sragge 1491.1Sraggetags: 1501.1Sragge @echo "see $S/kern/Makefile for tags" 1511.1Sragge 1521.1Sraggeioconf.o: 1531.1Sragge ${CC} -c ${CFLAGS} ${PARAM} ioconf.c 1541.1Sragge 1551.1Sragge# ${CC} -c -S ${COPTS} ioconf.c 1561.1Sragge# cat ioconf.s | ${INLINE} | ${AS} -o ioconf.o 1571.1Sragge# rm -f ioconf.s 1581.1Sragge 1591.5Sraggelim.o: Makefile 1601.5Sragge ../../conf/mkoldconf.awk < ioconf.c > lim.c 1611.5Sragge ${CC} -O -c ${CFLAGS} ${PARAM} lim.c 1621.5Sragge 1631.1Sraggeparam.c: $S/conf/param.c 1641.1Sragge rm -f param.c 1651.1Sragge cp $S/conf/param.c . 1661.1Sragge 1671.1Sraggeparam.o: param.c Makefile 1681.5Sragge ${CC} -O -c ${CFLAGS} ${PARAM} param.c 1691.1Sragge 1701.1Sraggeconf.o: ${VAX}/vax/conf.c 1711.5Sragge ${CC} -O -c ${CFLAGS} ${PARAM} ${VAX}/vax/conf.c 1721.1Sragge 1731.1Sraggenewvers: 1741.1Sragge sh $S/conf/newvers.sh 1751.1Sragge ${CC} ${CFLAGS} -c vers.c 1761.3Sragge 1771.3Sraggevnode_if.c vnode_if.h : $S/kern/vnode_if.sh $S/kern/vnode_if.src 1781.3Sragge AWK="${AWK}" sh $S/kern/vnode_if.sh $S/kern/vnode_if.src 1791.3Sragge 1801.1Sragge 1811.1Sragge%RULES 182