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