NetBSD/sys/arch/pmax/stand/Makefile.booters
simonb c8ba78a09e Move BINDIR, BINMODE to Makefile.inc.
Remove -DSMALL.
Define an empty LIBZ if building first stage bootblocks since LIBZ
   defaults to /usr/lib/libz.a.
1999-04-11 04:24:41 +00:00

91 lines
2.1 KiB
Makefile

# $NetBSD: Makefile.booters,v 1.22 1999/04/11 04:24:41 simonb Exp $
#
# NOTE: $S must correspond to the top of the 'sys' tree
.BEGIN: ${.OBJDIR}/machine ${.OBJDIR}/mips
${PROG} depend all: ${.OBJDIR}/machine ${.OBJDIR}/mips
CLEANFILES+= machine mips
${.OBJDIR}/machine:
-rm -f ${.TARGET}
ln -s $S/arch/${MACHINE}/include ${.TARGET}
${.OBJDIR}/mips:
-rm -f ${.TARGET}
ln -s $S/arch/mips/include mips
# Tailor C compilation for standalone environment.
COPTS= -Os # -Os gives smaller code
C_MACHDEP=-mmemcpy -mno-abicalls -G 128 # even smaller code
DEFS?= -D_STANDALONE -D_NO_PROM_DEFINES -DNO_ABICALLS \
${BOOTDEFADD}
INCL?= -nostdinc -I${.OBJDIR} -I$S -I${PMAX_STAND_DIR}/lib -I$S/lib/libsa
CFLAGS+= ${CWARN} ${C_MACHDEP}
AFLAGS+= -D_LOCORE -D_KERNEL
CPPFLAGS+= ${DEFS} ${INCL}
LDBUG= -T $S/arch/mips/conf/stand.ldscript
### find out what to use for libsa
SA_AS= library
.include "${S}/lib/libsa/Makefile.inc"
LIBSA= ${SALIB}
SAMISCMAKEFLAGS= SA_INCLUDE_NET=yes
# We don't need libkern/libz for the first stage bootblocks
.if ${PROG} != "bootxx"
### find out what to use for libz
Z_AS= library
.include "${S}/lib/libz/Makefile.inc"
LIBZ= ${ZLIB}
# and use compressed read in libsa
SAMISCMAKEFLAGS= SA_USE_CREAD=yes
### find out what to use for libkern
KERN_AS= library
.include "${S}/lib/libkern/Makefile.inc"
LIBKERN= ${KERNLIB}
.else # ${PROG} == "bootxx"
LIBZ=
.endif
PMAX_STAND_DIR?= $S/arch/pmax/stand
### find out what to use for libpmax
PMAXDIR= ${PMAX_STAND_DIR}/lib
.include "${PMAXDIR}/Makefile.inc"
LIBPMAX= ${PMAXLIB}
LIBS= ${LIBPMAX} ${LIBKERN} ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBPMAX}
VERS_O?=vers.o
${PROG}: ${OBJS} ${LIBS}
.if ${VERS_O} != ""
sh ${PMAX_STAND_DIR}/lib/newvers.sh ${VERSIONFILE} ${NEWVERSWHAT}
${COMPILE.c} vers.c
.endif
ld -Map ${PROG}.map -N -x -Ttext ${RELOC} ${LDBUG} -e start \
${OBJS} ${VERS_O} ${LIBS} -o ${PROG}
CLEANFILES+=${PROG}.map
.if ${VERS_O} != ""
CLEANFILES+=vers.c vers.o
.endif
cleandir distclean: cleanlibdir
cleanlibdir:
rm -rf lib
.include <bsd.prog.mk>
# be sure to turn off any PIC flags for standalone library code.
CPICFLAGS=
CAPICFLAGS=
CPPPICFLAGS=
APICFLAGS=