Makefile.booters revision 1.15 1 # $NetBSD: Makefile.booters,v 1.15 2009/01/12 07:20:35 tsutsui Exp $
2
3 S?= ${.CURDIR}/../../../..
4 MDEC_DIR?= /usr/mdec
5 RELOC?= 0x3F0000
6 COPTS?= -O2 -Wall -Wno-main -Wmissing-prototypes -Wstrict-prototypes \
7 -ffreestanding
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 -DLIBSA_USE_MEMSET -DLIBSA_USE_MEMCPY
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 machine :
44 -rm -f ${.TARGET}
45 ln -s $S/arch/mvme68k/include machine
46
47 m68k :
48 -rm -f ${.TARGET}
49 ln -s $S/arch/m68k/include m68k
50
51 .if defined(LIB)
52
53 lib${LIB}.a:: machine m68k ${OBJS}
54 beforedepend: machine m68k
55
56 .else
57
58 PROGDEPENDS?= ${SRTOBJ} ${BUGCRT} ${OBJS} ${LIBS}
59 PROGLINKOBJS?= ${PROGDEPENDS}
60
61 ${PROG}: machine m68k ${PROGDEPENDS}
62 ${LD} -N -Ttext ${RELOC} -o $@ ${PROGLINKOBJS}
63
64 .include <bsd.own.mk>
65
66 LIB_SA_DIR= ${.CURDIR}/../libsa
67 LIBSA_DIR!= cd ${LIB_SA_DIR} && ${PRINTOBJDIR}
68 LIBSA=${LIBSA_DIR}/libsa.a
69
70 .PHONY: ${LIBSA}
71 ${LIBSA}:
72 @echo making sure the libsa is up to date...
73 @cd ${LIB_SA_DIR} && ${MAKE}
74
75 SRTOBJ?= ${LIBSA_DIR}/SRT0.o
76 .PHONY: ${SRTOBJ}
77 ${SRTOBJ}:
78 @echo making sure the libsa is up to date...
79 @cd ${LIB_SA_DIR} && ${MAKE} SRT0.o
80
81 LIB_BUG_DIR= ${.CURDIR}/../libbug
82 LIBBUG_DIR!= cd ${LIB_BUG_DIR} && ${PRINTOBJDIR}
83 LIBBUG=${LIBBUG_DIR}/libbug.a
84
85 .PHONY: ${LIBBUG}
86 ${LIBBUG}:
87 @echo making sure the libbug is up to date...
88 @(cd ${LIB_BUG_DIR}; ${MAKE})
89
90 BUGCRT=${LIBBUG_DIR}/bugstart.o
91
92 .PHONY: ${BUGCRT}
93 $(BUGCRT):
94 @echo making sure the bugcrt is up to date...
95 @(cd ${LIB_BUG_DIR}; ${MAKE} bugstart.o)
96
97 WRTVID_BOOT_DIR= ${.CURDIR}/../wrtvid
98 WRTVID_DIR!= cd ${WRTVID_BOOT_DIR} && ${PRINTOBJDIR}
99 WRTVID=${WRTVID_DIR}/wrtvid
100
101 .PHONY: ${WRTVID}
102 ${WRTVID}:
103 @echo making sure the wrtvid is up to date...
104 @(cd ${WRTVID_BOOT_DIR}; ${MAKE} dependall)
105
106 .endif
107