Makefile.booters revision 1.19 1 # $NetBSD: Makefile.booters,v 1.19 2009/12/06 13:28:04 tsutsui Exp $
2
3 S?= ${.CURDIR}/../../../..
4 MDEC_DIR?= /usr/mdec
5 RELOC?= 0x3F0000
6 COPTS?= -Os -Wall -Wno-main -Wmissing-prototypes -Wstrict-prototypes \
7 -ffreestanding -fomit-frame-pointer
8 DEFS?=
9 STRIPFLAG?=
10
11 NOMAN= # defined
12 NOMAN= # defined
13 NOLINT= # defined
14 NOLINT= # defined
15 NOPIC= # defined
16 NOPROFILE=# defined
17 NOLINT=# defined
18
19 INCPATH=-I${.OBJDIR} -I${.CURDIR} -I${.CURDIR}/../libsa -I${.CURDIR}/../libbug \
20 -I${.CURDIR}/../../include -I${S} -I${S}/lib/libsa
21 CFLAGS= -nostdinc -m68020-60 -Wa,-m68030
22 CPPFLAGS+= -D__daddr_t=int32_t
23 CPPFLAGS+= -D_STANDALONE
24 CPPFLAGS+= ${INCPATH} ${DEFS}
25 BINDIR= ${MDEC_DIR}
26
27 # XXX SHOULD NOT NEED TO DEFINE THESE!
28 LIBCRT0=
29 LIBC=
30 LIBCRTBEGIN=
31 LIBCRTEND=
32
33 .if exists(${.CURDIR}/version)
34 SRCS+= vers.c
35 CLEANFILES+= vers.c
36
37 vers.c: version
38 ${HOST_SH} ${S}/conf/newvers_stand.sh -DM ${.CURDIR}/version "mvme68k"
39 .endif
40
41 CLEANFILES+= machine m68k
42
43 .if !make(obj) && !make(clean) && !make(cleandir)
44 .BEGIN:
45 @rm -f machine && \
46 ln -s $S/arch/${MACHINE}/include machine
47 @rm -f ${MACHINE_CPU} && \
48 ln -s $S/arch/${MACHINE_CPU}/include ${MACHINE_CPU}
49 .endif
50
51 .if defined(LIB)
52
53 lib${LIB}.a:: ${OBJS}
54
55 .else
56
57 PROGDEPENDS?= ${SRTOBJ} ${BUGCRT} ${OBJS} ${LIBS}
58 PROGLINKOBJS?= ${PROGDEPENDS}
59
60 ${PROG}: machine m68k ${PROGDEPENDS}
61 ${LD} -N -Ttext ${RELOC} -o $@ ${PROGLINKOBJS}
62
63 .include <bsd.own.mk>
64
65 LIB_SA_DIR= ${.CURDIR}/../libsa
66 LIBSA_DIR!= cd ${LIB_SA_DIR} && ${PRINTOBJDIR}
67 LIBSA=${LIBSA_DIR}/libsa.a
68
69 .PHONY: ${LIBSA}
70 ${LIBSA}:
71 @echo making sure the libsa is up to date...
72 @cd ${LIB_SA_DIR} && ${MAKE}
73
74 SRTOBJ?= ${LIBSA_DIR}/SRT0.o
75 .PHONY: ${SRTOBJ}
76 ${SRTOBJ}:
77 @echo making sure the libsa is up to date...
78 @cd ${LIB_SA_DIR} && ${MAKE} SRT0.o
79
80 LIB_BUG_DIR= ${.CURDIR}/../libbug
81 LIBBUG_DIR!= cd ${LIB_BUG_DIR} && ${PRINTOBJDIR}
82 LIBBUG=${LIBBUG_DIR}/libbug.a
83
84 .PHONY: ${LIBBUG}
85 ${LIBBUG}:
86 @echo making sure the libbug is up to date...
87 @(cd ${LIB_BUG_DIR}; ${MAKE})
88
89 BUGCRT=${LIBBUG_DIR}/bugstart.o
90
91 .PHONY: ${BUGCRT}
92 $(BUGCRT):
93 @echo making sure the bugcrt is up to date...
94 @(cd ${LIB_BUG_DIR}; ${MAKE} bugstart.o)
95
96 WRTVID_BOOT_DIR= ${.CURDIR}/../wrtvid
97 WRTVID_DIR!= cd ${WRTVID_BOOT_DIR} && ${PRINTOBJDIR}
98 WRTVID=${WRTVID_DIR}/wrtvid
99
100 .PHONY: ${WRTVID}
101 ${WRTVID}:
102 @echo making sure the wrtvid is up to date...
103 @(cd ${WRTVID_BOOT_DIR}; ${MAKE} dependall)
104
105 .endif
106