Makefile.booters revision 1.20
1# $NetBSD: Makefile.booters,v 1.20 1999/03/31 03:10:56 simonb Exp $ 2# 3# NOTE: $S must correspond to the top of the 'sys' tree 4 5BINDIR?=/usr/mdec 6BINMODE?=444 7 8.BEGIN: ${.OBJDIR}/machine ${.OBJDIR}/mips 9${PROG} depend all: ${.OBJDIR}/machine ${.OBJDIR}/mips 10CLEANFILES+= machine mips 11 12${.OBJDIR}/machine: 13 -rm -f ${.TARGET} 14 ln -s $S/arch/${MACHINE}/include ${.TARGET} 15 16${.OBJDIR}/mips: 17 -rm -f ${.TARGET} 18 ln -s $S/arch/mips/include mips 19 20# Tailor C compilation for standalone environment. 21COPTS= -Os # -Os gives smaller code 22 23C_MACHDEP=-mmemcpy -mno-abicalls -G 128 # even smaller code 24 25DEFS?= -DSMALL -D_STANDALONE -D_NO_PROM_DEFINES -DNO_ABICALLS \ 26 ${BOOTDEFADD} 27INCL?= -nostdinc -I${.OBJDIR} -I$S -I${PMAX_STAND_DIR}/lib -I$S/lib/libsa 28 29CFLAGS+= ${CWARN} ${C_MACHDEP} 30AFLAGS+= -D_LOCORE -D_KERNEL 31CPPFLAGS+= ${DEFS} ${INCL} 32 33LDBUG= -T $S/arch/mips/conf/stand.ldscript 34 35# We don't need libkern/libsa for the first stage bootblocks 36.if ${PROG} != "bootxx" 37 38### find out what to use for libsa 39SA_AS= library 40.include "${S}/lib/libsa/Makefile.inc" 41LIBSA= ${SALIB} 42SAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_INCLUDE_NET=no 43 44### find out what to use for libz 45Z_AS= library 46.include "${S}/lib/libz/Makefile.inc" 47LIBZ= ${ZLIB} 48 49### find out what to use for libkern 50KERN_AS= library 51.include "${S}/lib/libkern/Makefile.inc" 52LIBKERN= ${KERNLIB} 53 54.endif # ${PROG} != "bootxx" 55 56PMAX_STAND_DIR?= $S/arch/pmax/stand 57### find out what to use for libpmax 58PMAXDIR= ${PMAX_STAND_DIR}/lib 59.include "${PMAXDIR}/Makefile.inc" 60LIBPMAX= ${PMAXLIB} 61 62LIBS= ${LIBPMAX} ${LIBKERN} ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBPMAX} 63VERS_O?=vers.o 64 65${PROG}: ${OBJS} ${LIBS} 66.if ${VERS_O} != "" 67 sh ${PMAX_STAND_DIR}/lib/newvers.sh ${VERSIONFILE} ${NEWVERSWHAT} 68 ${COMPILE.c} vers.c 69.endif 70 ld -Map ${PROG}.map -N -x -Ttext ${RELOC} ${LDBUG} -e start \ 71 ${OBJS} ${VERS_O} ${LIBS} -o ${PROG} 72 73CLEANFILES+=${PROG}.map 74.if ${VERS_O} != "" 75CLEANFILES+=vers.c vers.o 76.endif 77 78cleandir distclean: cleanlibdir 79 80cleanlibdir: 81 rm -rf lib 82 83.include <bsd.prog.mk> 84 85# be sure to turn off any PIC flags for standalone library code. 86CPICFLAGS= 87CAPICFLAGS= 88CPPPICFLAGS= 89APICFLAGS= 90