1# Copyright (c) 1988 University of Utah. 2# Copyright (c) 1990 The Regents of the University of California. 3# All rights reserved. 4# 5# This code is derived from software contributed to Berkeley by 6# the Systems Programming Group of the University of Utah Computer 7# Science Department. 8# 9# %sccs.include.redist.sh 10# 11# @(#)Makefile.hp300 7.1 (Berkeley) 05/08/90 12# 13# 14# Makefile for 4.4 BSD 15# 16# This makefile is constructed from a machine description: 17# config machineid 18# Most changes should be made in the machine description 19# /sys/conf/``machineid'' 20# after which you should do 21# config machineid 22# Generic makefile changes should be made in 23# /sys/conf/Makefile.``machinetype'' 24# after which config should be rerun for all machines. 25# 26# N.B.: NO DEPENDENCIES ON FOLLOWING FLAGS ARE VISIBLE TO MAKEFILE 27# IF YOU CHANGE THE DEFINITION OF ANY OF THESE RECOMPILE EVERYTHING 28# 29# -DTRACE compile in kernel tracing hooks 30# -DQUOTA compile in file system quotas 31# -DSWABIPS compile in code to byte swap ip packets on 3Mb/s Ethernet 32# 33AS= as 34OAS= oas 35CC= cc -Dconst=__const__ -Dvolatile=__volatile__ \ 36 -Dsigned=__signed__ -Dinline=__inline__ \ 37 -Uunix -fpcc-struct-return 38LD= /bin/ld 39TOUCH= touch -f -c 40 41INCLUDES= -I. -I../sys 42COPTS= ${INCLUDES} ${IDENT} -DKERNEL -Dmc68020 -Dhp300 -DFPCOPROC -DREFBIT 43CFLAGS= -O ${COPTS} 44 45AHEADS= 46 47%OBJS 48 49%CFILES 50 51%LOAD 52 53clean: 54 rm -f eddep *vmunix tags *.o locore.i [a-z]*.s \ 55 errs linterrs makelinks 56 57lint: param.c FRC 58 @lint -hbxn -DGENERIC -Dvolatile= ${COPTS} ${PARAM} -UKGDB \ 59 ../hp300/Locore.c ${CFILES} ../hp300/swapgeneric.c ioconf.c param.c|\ 60 grep -v 'struct/union .* never defined' | \ 61 grep -v 'possible pointer alignment problem' 62 63../hp300/symbols.sort: ../hp300/symbols.raw 64 grep -v '^#' ../hp300/symbols.raw \ 65 | sed 's/^ //' | sort -u > ../hp300/symbols.sort 66 67locore.o: assym.s ${AHEADS} ../hp300/vectors.s ../hp300/locore.s \ 68 ../hp300/trap.h machine/psl.h machine/pte.h ../hp300/cpu.h 69 cat assym.s ../hp300/vectors.s ../hp300/locore.s > locore.c 70 ${CC} -E -DLOCORE -I../hp300 ${COPTS} locore.c > locore.i 71 @echo 'as -o locore.o $${AHEADS} locore.i' 72 @${OAS} -o locore.o ${AHEADS} locore.i 73 @rm locore.i 74 75FRC: 76 77# the following is necessary because autoconf.o depends on #if GENERIC 78autoconf.o: Makefile 79 80# the following are necessary because the files depend on the types of 81# hp cpu's included in the system configuration 82clock.o machdep.o autoconf.o conf.o: Makefile 83 84# depend on network configuration 85af.o uipc_proto.o locore.o: Makefile 86 87# depend on maxusers 88assym.s: Makefile 89 90assym.s: ../sys/param.h machine/pte.h ../sys/buf.h ../sys/vmparam.h \ 91 ../sys/vmmeter.h ../sys/dir.h ../sys/cmap.h ../sys/map.h ../sys/syscall.h \ 92 ../sys/proc.h ../sys/msgbuf.h ../sys/text.h ../sys/user.h ../sys/mbuf.h \ 93 machine/cpu.h machine/trap.h machine/psl.h machine/reg.h machine/clockreg.h 94 ${CC} ${INCLUDES} ${IDENT} ${PARAM} -Dmc68020 -Dhp300 ../hp300/genassym.c 95 ./a.out >assym.s; rm -f a.out 96 97depend: assym.s param.c 98 ${CC} -M ${COPTS} ${CFILES} param.c ioconf.c | \ 99 sed -e ':loop' \ 100 -e 's/\.\.\/[^ /]*\/\.\./../' \ 101 -e 's/ \.\// /' \ 102 -e 't loop' | \ 103 awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \ 104 else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ 105 else rec = rec " " $$2 } } \ 106 END { print rec } ' > makedep 107 echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep 108 echo '$$r makedep' >>eddep 109 echo 'w' >>eddep 110 cp Makefile Makefile.bak 111 ex - Makefile < eddep 112 rm eddep makedep 113 114links: 115 egrep '#if' ${CFILES} | sed -f ../conf/defines | \ 116 sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink 117 echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ 118 sort -u | comm -23 - dontlink | \ 119 sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks 120 sh makelinks && rm -f dontlink 121 122tags: 123 @echo "see ../kern/Makefile for tags" 124 125print: 126 @pr -f Makefile ../sys/TODO linterrs 127 @/usr/ucb/ctags -x ${CFILES} | pr -f -h XREF 128 @(size vmunix *.o) | pr -f -h sizes 129 @ls -ls | pr -f 130 @cd ../h; ls -ls | pr -f ; pr -f *.h 131 @echo 'once upon a time ...' 132 @cd ../hp300; pr -f Locore.c vectors.s locore.s 133 @pr -f ${CFILES} 134 135ioconf.o: ioconf.c 136 ${CC} -c ${CFLAGS} ioconf.c 137 138param.c: ../conf/param.c 139 -rm -f param.c 140 cp ../conf/param.c . 141 142param.o: param.c Makefile 143 ${CC} -c ${CFLAGS} ${PARAM} param.c 144 145%RULES 146 147# DO NOT DELETE THIS LINE -- make depend uses it 148 149