Makefile.mvme68k revision 1.1
11.1Schuck# $NetBSD: Makefile.mvme68k,v 1.1 1995/07/25 23:12:05 chuck Exp $ 21.1Schuck 31.1Schuck# @(#)Makefile.hp300 8.2 (Berkeley) 1/23/94 41.1Schuck# 51.1Schuck# Makefile for NetBSD 61.1Schuck# 71.1Schuck# This makefile is constructed from a machine description: 81.1Schuck# config machineid 91.1Schuck# Most changes should be made in the machine description 101.1Schuck# /sys/arch/mvme68k/conf/``machineid'' 111.1Schuck# after which you should do 121.1Schuck# config.new machineid 131.1Schuck# Machine generic makefile changes should be made in 141.1Schuck# /sys/arch/mvme68k/conf/Makefile.mvme68k 151.1Schuck# after which config should be rerun for all machines of that type. 161.1Schuck# 171.1Schuck# N.B.: NO DEPENDENCIES ON FOLLOWING FLAGS ARE VISIBLE TO MAKEFILE 181.1Schuck# IF YOU CHANGE THE DEFINITION OF ANY OF THESE RECOMPILE EVERYTHING 191.1Schuck# 201.1Schuck# -DTRACE compile in kernel tracing hooks 211.1Schuck# -DQUOTA compile in file system quotas 221.1Schuck 231.1Schuck 241.1Schuck# DEBUG is set to -g by config if debugging is requested (config -g). 251.1Schuck# PROF is set to -pg by config if profiling is requested (config -p). 261.1SchuckAS= as ${DEBUG} 271.1SchuckCC= cc ${DEBUG} 281.1SchuckCPP= cpp 291.1SchuckLD= ld 301.1SchuckTOUCH= touch -f -c 311.1SchuckAWK= awk 321.1Schuck 331.1Schuck# source tree is located via $S relative to the compilation directory 341.1SchuckS= ../../../.. 351.1SchuckMVME68K= ../.. 361.1Schuck 371.1SchuckINCLUDES= -I. -I$S/arch -I$S -I$S/sys 381.1SchuckCOPTS= ${INCLUDES} ${IDENT} -D_KERNEL -Dmc68020 -Dmvme68k -DFPCOPROC 391.1SchuckCFLAGS= -O ${COPTS} 401.1Schuck 411.1Schuck### find out what to use for libkern 421.1Schuck.include "$S/lib/libkern/Makefile.inc" 431.1Schuck.ifndef PROF 441.1SchuckLIBKERN= ${KERNLIB} 451.1Schuck.else 461.1SchuckLIBKERN= ${KERNLIB_PROF} 471.1Schuck.endif 481.1Schuck 491.1Schuck### find out what to use for libcompat 501.1Schuck.include "$S/compat/common/Makefile.inc" 511.1Schuck.ifndef PROF 521.1SchuckLIBCOMPAT= ${COMPATLIB} 531.1Schuck.else 541.1SchuckLIBCOMPAT= ${COMPATLIB_PROF} 551.1Schuck.endif 561.1Schuck 571.1Schuck### for the Motorola 68040 Floating Point Software Product 581.1Schuck.include "$S/arch/m68k/fpsp/Makefile.inc" 591.1Schuck 601.1Schuck# compile rules: rules are named ${TYPE}_${SUFFIX}${CONFIG_DEP} 611.1Schuck# where TYPE is NORMAL, DRIVER, or PROFILE}; SUFFIX is the file suffix, 621.1Schuck# capitalized (e.g. C for a .c file), and CONFIG_DEP is _C if the file 631.1Schuck# is marked as config-dependent. 641.1Schuck 651.1SchuckNORMAL_C= ${CC} -c ${CFLAGS} ${PROF} $< 661.1SchuckNORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $< 671.1Schuck 681.1SchuckDRIVER_C= ${CC} -c ${CFLAGS} ${PROF} $< 691.1SchuckDRIVER_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $< 701.1Schuck 711.1SchuckPROFILE_C= ${CC} -S -c ${COPTS} $<; \ 721.1Schuck sed -e s/_mcount/mcount/ -e s/subrmcount/subr_mcount/ <$*.s | \ 731.1Schuck ${AS} -o $@; \ 741.1Schuck rm -f $*.s 751.1Schuck 761.1SchuckNORMAL_S= ${CPP} ${COPTS} $< | ${AS} -o $@ 771.1SchuckNORMAL_S_C= ${CPP} ${COPTS} ${PARAM} $< | ${AS} -o $@ 781.1Schuck 791.1Schuck%OBJS 801.1Schuck 811.1Schuck%CFILES 821.1Schuck 831.1Schuck# load lines for config "xxx" will be emitted as: 841.1Schuck# xxx: ${SYSTEM_DEP} swapxxx.o 851.1Schuck# ${SYSTEM_LD_HEAD} 861.1Schuck# ${SYSTEM_LD} swapxxx.o 871.1Schuck# ${SYSTEM_LD_TAIL} 881.1SchuckDEBUG?= 891.1Schuck.if ${DEBUG} == "-g" 901.1SchuckLDX=-X 911.1Schuck.else 921.1SchuckLDX=-x 931.1Schuck.endif 941.1SchuckSYSTEM_OBJ= locore.o ${FPSP} vnode_if.o ${OBJS} param.o ioconf.o \ 951.1Schuck ${LIBKERN} ${LIBCOMPAT} 961.1SchuckSYSTEM_DEP= Makefile ${SYSTEM_OBJ} 971.1SchuckSYSTEM_LD_HEAD= @echo loading $@; rm -f $@ 981.1SchuckSYSTEM_LD= @${LD} ${LDX} -Ttext 0x8000 -n -o $@ -e start \ 991.1Schuck ${SYSTEM_OBJ} vers.o 1001.1SchuckSYSTEM_LD_TAIL= @echo rearranging symbols; size $@; chmod 755 $@ 1011.1Schuck 1021.1Schuck%LOAD 1031.1Schuck 1041.1Schucknewvers: vers.o 1051.1Schuck 1061.1Schuckvers.o: ${SYSTEM_DEP} ${SYSTEM_SWAP_DEP} 1071.1Schuck sh $S/conf/newvers.sh 1081.1Schuck ${CC} ${CFLAGS} -c vers.c 1091.1Schuck 1101.1Schuckclean:: 1111.1Schuck rm -f eddep *netbsd netbsd.gdb tags vnode_if.[ch] *.o locore.i \ 1121.1Schuck [a-z]*.s [Ee]rrs linterrs makelinks genassym 1131.1Schuck 1141.1Schucklint: /tmp param.c 1151.1Schuck @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} ${PARAM} -UKGDB \ 1161.1Schuck ${MVME68K}/mvme68k/Locore.c ${CFILES} ${MVME68K}/mvme68k/swapgeneric.c \ 1171.1Schuck ioconf.c param.c | \ 1181.1Schuck grep -v 'struct/union .* never defined' | \ 1191.1Schuck grep -v 'possible pointer alignment problem' 1201.1Schuck 1211.1Schucklocore.o: assym.s ${MVME68K}/mvme68k/vectors.s ${MVME68K}/mvme68k/locore.s 1221.1Schucklocore.o: ${MVME68K}/include/trap.h ${MVME68K}/include/psl.h ${MVME68K}/include/pte.h 1231.1Schucklocore.o: ${MVME68K}/include/cpu.h 1241.1Schuck ${CPP} -DLOCORE ${COPTS} ${MVME68K}/mvme68k/locore.s | ${AS} -o locore.o 1251.1Schuck 1261.1Schuck# depend on maxusers 1271.1Schuckassym.s: Makefile 1281.1Schuck 1291.1Schuckassym.s: genassym 1301.1Schuck ./genassym > assym.s 1311.1Schuck 1321.1Schuckgenassym: ${MVME68K}/mvme68k/genassym.c Makefile 1331.1Schuck cc ${INCLUDES} ${IDENT} ${PARAM} -Dmc68020 -Dmvme68k -o genassym \ 1341.1Schuck ${MVME68K}/mvme68k/genassym.c 1351.1Schuck 1361.1Schuckdepend: assym.s param.c vnode_if.h 1371.1Schuck mkdep ${COPTS} ${CFILES} ioconf.c param.c 1381.1Schuck mkdep -a -p ${INCLUDES} ${IDENT} ${PARAM} ${MVME68K}/mvme68k/genassym.c 1391.1Schuck 1401.1Schucklinks: 1411.1Schuck egrep '#if' ${CFILES} | sed -f $S/conf/defines | \ 1421.1Schuck sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink 1431.1Schuck echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ 1441.1Schuck sort -u | comm -23 - dontlink | \ 1451.1Schuck sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks 1461.1Schuck sh makelinks && rm -f dontlink 1471.1Schuck 1481.1Schucktags: 1491.1Schuck @echo "see $S/kern/Makefile for tags" 1501.1Schuck 1511.1Schuckioconf.o: ioconf.c 1521.1Schuck ${CC} -c ${CFLAGS} ioconf.c 1531.1Schuck 1541.1Schuckparam.c: $S/conf/param.c 1551.1Schuck rm -f param.c 1561.1Schuck cp $S/conf/param.c . 1571.1Schuck 1581.1Schuckparam.o: param.c Makefile 1591.1Schuck ${CC} -c ${CFLAGS} ${PARAM} param.c 1601.1Schuck 1611.1Schuckvnode_if.c vnode_if.h: $S/kern/vnode_if.sh $S/kern/vnode_if.src 1621.1Schuck AWK="${AWK}" sh $S/kern/vnode_if.sh $S/kern/vnode_if.src 1631.1Schuck 1641.1Schuck%RULES 165