Makefile.sparc revision 1.2
1# from: @(#)Makefile.sparc 8.1 (Berkeley) 7/19/93 2# $Id: Makefile.sparc,v 1.2 1993/10/11 02:33:25 deraadt Exp $ 3# Makefile for 4.4 BSD 4# 5# This makefile is constructed from a machine description: 6# config machineid 7# Most changes should be made in the machine description 8# /sys/conf/``machineid'' 9# after which you should do 10# config machineid 11# Machine generic makefile changes should be made in 12# /sys/conf/Makefile.``machinetype'' 13# after which config should be rerun for all machines of that type. 14# 15# N.B.: NO DEPENDENCIES ON FOLLOWING FLAGS ARE VISIBLE TO MAKEFILE 16# IF YOU CHANGE THE DEFINITION OF ANY OF THESE RECOMPILE EVERYTHING 17# 18# -DTRACE compile in kernel tracing hooks 19# -DQUOTA compile in file system quotas 20 21# DEBUG is set to -g if debugging. 22DEBUG=-g 23# PROF is set to -pg if profiling. 24 25AS?= as 26 27CC= gcc ${DEBUG} 28CPP= cpp 29LD= ld 30TOUCH= touch -f -c 31 32# source tree is located via $S relative to the compilation directory 33S= ../../../.. 34SPARC= ../.. 35LIBKERN=../libkern.a 36 37INCLUDES=-nostdinc -I. -I$S/arch -I$S -I$S/sys -I/tmp/usr/include -I/usr/include 38COPTS= ${INCLUDES} ${IDENT} -DKERNEL -DSUN4C -Dsun4c 39CFLAGS= ${COPTS} 40 41# compile rules: rules are named ${TYPE}_${SUFFIX}${CONFIG_DEP} 42# where TYPE is NORMAL, DRIVER, or PROFILE}; SUFFIX is the file suffix, 43# capitalized (e.g. C for a .c file), and CONFIG_DEP is _C if the file 44# is marked as config-dependent. 45 46# sparc kernel uses volatile, rather than heavy "device-driver"s. 47 48NORMAL_C= ${CC} -c ${CFLAGS} ${PROF} $< 49NORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $< 50 51# optimizer breaks sometimes; temporary workaround uses ${NOOPT_C} 52NOOPT_C= ${CC} -c ${COPTS} ${PROF} ${PARAM} $< 53 54NORMAL_S= rm -f $*.c; ln -s $< $*.c; \ 55 ${CC} ${COPTS} -I${SPARC}/sparc -E $*.c > $*.i; \ 56 ${AS} -o $@ $*.i; rm -f $*.c $*.i 57NORMAL_S_C= rm -f $*.c; ln -s $< $*.c; \ 58 ${CC} ${COPTS} ${PARAM} -I${SPARC}/sparc -E $*.c > $*.i; \ 59 ${AS} -o $@ $*.i; rm -f $*.c $*.i 60 61%OBJS 62 63%CFILES 64 65# load lines for config "xxx" will be emitted as: 66# xxx: ${SYSTEM_DEP} swapxxx.o 67# ${SYSTEM_LD_HEAD} 68# ${SYSTEM_LD} swapxxx.o 69# ${SYSTEM_LD_TAIL} 70DEBUG?= 71.if ${DEBUG} == "-g" 72LDX=-X 73.else 74LDX=-x 75.endif 76SYSTEM_OBJ= locore.o ${OBJS} param.o ioconf.o 77SYSTEM_DEP= Makefile ${SYSTEM_OBJ} 78SYSTEM_LD_HEAD= rm -f $@ 79SYSTEM_LD= -@echo ${LD} ${LDX} -p -N -e start -T f8004000 -o $@ \ 80 '$${SYSTEM_OBJ}' vers.o ${LIBKERN}; \ 81 ${LD} ${LDX} -p -N -e start -T f8004000 -o $@ \ 82 ${SYSTEM_OBJ} vers.o ${LIBKERN} \ 83 /usr/local/lib/gcc-lib/sparc/2.4.5/libgcc.a 84SYSTEM_LD_TAIL= @size $@; chmod 755 $@ 85#.if ${DEBUG} == "-g" 86#SYSTEM_LD_TAIL+=; echo cp $@ $@.gdb; rm -f $@.gdb; cp $@ $@.gdb; \ 87# echo strip -d $@; strip -d $@ 88#.endif 89 90%LOAD 91 92newvers: 93 sh $S/conf/newvers.sh 94 ${CC} ${CFLAGS} -c vers.c 95 96clean: 97 rm -f eddep *netbsd netbsd.gdb tags tags1 *.[io] [a-z]*.s \ 98 Errs errs linterrs makelinks 99 100locore.o: ${SPARC}/sparc/locore.s assym.s 101 ${NORMAL_S} 102 103# depend on maxusers 104assym.s: Makefile 105 106./assym.s: assym.s 107assym.s: genassym 108 ./genassym >assym.s 109 110genassym: genassym.o 111 ${CC} -o $@ genassym.o 112 113genassym.o: ${SPARC}/sparc/genassym.c 114 ${CC} -c ${CFLAGS} ${PARAM} $< 115 116SRCS= ${CFILES} ${SPARC}/sparc/genassym.c ioconf.c param.c ${SPARC}/sparc/conf.c 117depend: .depend 118.depend: ${SRCS} 119 mkdep ${COPTS} ${SRCS} 120 121links: 122 egrep '#if' ${CFILES} | sed -f $S/conf/defines | \ 123 sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink 124 echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ 125 sort -u | comm -23 - dontlink | \ 126 sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks 127 sh makelinks && rm -f dontlink 128 129tags: depend 130 sh $S/conf/systags.sh 131 rm -f tags1 132 sed -e 's, ../, ,' tags > tags1 133 134ioconf.o: ioconf.c 135 ${CC} -c ${CFLAGS} ioconf.c 136 137param.c: $S/conf/param.c 138 rm -f param.c 139 cp $S/conf/param.c . 140 141param.o: param.c Makefile 142 ${CC} -c ${CFLAGS} ${PARAM} param.c 143 144#vnode_if.c: $S/kern/vnode_if.sh $S/kern/vnode_if.src 145# sh $S/kern/vnode_if.sh $S/kern/vnode_if.src 146#vnode_if.h: $S/kern/vnode_if.sh $S/kern/vnode_if.src 147# sh $S/kern/vnode_if.sh $S/kern/vnode_if.src 148 149%RULES 150