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