Makefile.vax revision 1.1
11.1Sragge# @(#)Makefile.vax 7.18 (Berkeley) 12/16/90 21.1Sragge# $Id: Makefile.vax,v 1.1 1994/08/02 20:19:22 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.1Sragge 261.1SraggeS= ../../../.. 271.1SraggeVAX= ../.. 281.1Sragge 291.1SraggeINCLUDES= -I. -I$S/arch -I$S -I$S/sys 301.1SraggeCOPTS= ${INCLUDES} ${IDENT} -DKERNEL 311.1SraggeAOPTS= ${COPTS} -DASSEMBLER 321.1SraggeCFLAGS= ${COPTS} 331.1SraggeLOAD_ADDRESS=80000000 341.1Sragge 351.1SraggeINLINECMD= ${VAX}/inline/obj/inline 361.1SraggeINLINE= ${INLINECMD} ${INLINEOPTS} 371.1Sragge 381.1Sragge#AHEADS= ${VAX}/vax/pcb.m 391.1Sragge 401.1Sragge### find out what to use for libkern 411.1Sragge.include "$S/lib/libkern/Makefile.inc" 421.1Sragge.ifndef PROF 431.1SraggeLIBKERN=../../../../lib/libkern/libkern.a # ${KERNLIB} 441.1Sragge.else 451.1SraggeLIBKERN= ${KERNLIB_PROF} 461.1Sragge.endif 471.1Sragge 481.1SraggeNORMAL_C= ${CC} -c ${CFLAGS} ${PROF} $< 491.1SraggeNORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $< 501.1SraggeNORMAL_S= ${CPP} -I. -DLOCORE ${COPTS} $< | ${AS} ${ASFLAGS} -o $*.o 511.1SraggeDRIVER_C= ${CC} -c ${CFLAGS} ${PROF} $< 521.1SraggeDRIVER_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $< 531.1SraggeSYSTEM_ASMS=intvec.o locore.o locon.o 541.1SraggeSYSTEM_OBJS=${SYSTEM_ASMS} ${OBJS} glue.o param.o ioconf.o ${LIBKERN} 551.1Sragge#SYSTEM_DEP=${SYSTEM_ASMS} lovm.o pmap.o 561.1SraggeSYSTEM_DEP=${SYSTEM_ASMS} ${SYSTEM_OBJS} 571.1SraggeSYSTEM_LD_HEAD= @echo loading $@; rm -f $@ 581.1SraggeSYSTEM_LD= ${LD} -d -e start -T ${LOAD_ADDRESS} -o $@ ${SYSTEM_OBJS} vers.o 591.1Sragge#SYSTEM_LD_TAIL= @echo rearranging symbols; symorder symbols.sort $@; ${DBSYM} -f 601.1SraggeSYSTEM_LD_TAIL=@echo Nu {r k{rnan klar!!!! 611.1Sragge 621.1Sragge 631.1Sragge%OBJS 641.1Sragge 651.1Sragge%CFILES 661.1Sragge 671.1Sragge%LOAD 681.1Sragge 691.1Sraggeclean: 701.1Sragge rm -f eddep *vmunix tags *.o locore.i [a-tv-z]*.s \ 711.1Sragge Errs errs linterrs makelinks 721.1Sragge 731.1Sraggelint: /tmp param.c 741.1Sragge @lint -hbxn -DGENERIC ${COPTS} ${PARAM} \ 751.1Sragge ${VAX}/vax/Locore.c ${CFILES} ioconf.c param.c | \ 761.1Sragge grep -v 'struct/union .* never defined' | \ 771.1Sragge grep -v 'possible pointer alignment problem' 781.1Sragge 791.1Sraggesymbols.sort: ${VAX}/vax/symbols.raw 801.1Sragge grep -v '^#' ${VAX}/vax/symbols.raw \ 811.1Sragge | sed 's/^ //' | sort -u > symbols.sort 821.1Sragge 831.1Sragge${INLINECMD}: 841.1Sragge cd ${VAX}/inline; make 851.1Sragge 861.1Sraggelocon.o: ${VAX}/vax/locon.s 871.1Sragge ${CC} -x assembler-with-cpp -E ${AOPTS} ${VAX}/vax/locon.s| as -o locon.o 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.1Sraggelocore.o: ${VAX}/vax/locore.s 931.1Sragge ${CC} -x assembler-with-cpp -E ${AOPTS} ${VAX}/vax/locore.s| as -o locore.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.1Sraggeautoconf.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.1Sraggeclock.o machdep.o autoconf.o conf.o cons.o cpudata.o : Makefile 1081.1Sraggecrl.o flp.o mba.o uba.o vaxcpu.o : Makefile 1091.1Sragge 1101.1Sragge# depend on network configuration 1111.1Sragge#af.o uipc_proto.o uipc_domain.o locore.o: Makefile 1121.1Sragge 1131.1Sragge# depends on kdb being configured 1141.1Sraggetrap.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.1Sraggeparam.c: $S/conf/param.c 1501.1Sragge rm -f param.c 1511.1Sragge cp $S/conf/param.c . 1521.1Sragge 1531.1Sraggeparam.o: param.c Makefile 1541.1Sragge ${CC} -c ${CFLAGS} ${PARAM} param.c 1551.1Sragge 1561.1Sraggeglue.o: ${VAX}/vax/glue.c 1571.1Sragge ${CC} -c ${CFLAGS} ${PARAM} glue.c 1581.1Sragge 1591.1Sraggeconf.o: ${VAX}/vax/conf.c 1601.1Sragge ${CC} -c -traditional ${CFLAGS} ${PARAM} conf.c 1611.1Sragge 1621.1Sraggenewvers: 1631.1Sragge sh $S/conf/newvers.sh 1641.1Sragge ${CC} ${CFLAGS} -c vers.c 1651.1Sragge 1661.1Sragge%RULES 167