xref: /netbsd-src/sys/arch/acorn32/stand/Makefile.buildboot (revision 62a8debe1dc62962e18a1c918def78666141273b)
1#	$NetBSD: Makefile.buildboot,v 1.13 2009/04/03 10:38:12 tsutsui Exp $
2
3S?=	${.CURDIR}/../../../..
4
5.PATH: ${.CURDIR}/../lib
6
7SRCS=	${PROGSOURCE}
8NOMAN=# defined
9BINDIR=/usr/mdec
10BINMODE=444
11FILESDIR=/usr/mdec
12
13# XXX SHOULD NOT NEED TO DEFINE THESE!
14LIBCRT0=
15LIBC=
16LIBCRTBEGIN=
17LIBCRTEND=
18
19MKMODULE?=no
20.if ${MKMODULE} == "yes"
21RISCOSTYPE ?= ffa
22LINKFLAGS+=-shared -Bsymbolic --no-undefined -T ${.CURDIR}/../module.ldscript
23CFLAGS+=-DRISCOS_MODULE
24.else
25RISCOSTYPE ?= ff8
26RELOC=8000
27# -N (OMAGIC) since we don't need a gap between text and data.
28LINKFLAGS+=-N -Ttext ${RELOC}
29.endif
30
31SRCS+=		vers.c
32CLEANFILES+=	vers.c
33.PHONY: vers.c
34vers.c: ${.CURDIR}/version
35	${HOST_SH} ${S}/conf/newvers_stand.sh ${.CURDIR}/version ${MACHINE} ${NEWVERSWHAT}
36
37CPPFLAGS+=	-D_STANDALONE
38CPPFLAGS+=	-I. -I${.CURDIR}/../../.. -I${.CURDIR}/../../../..
39CPPFLAGS+=	-I${.CURDIR}/../lib
40CFLAGS=		-O2
41CFLAGS+=	-ffreestanding
42CFLAGS+=	-Wall -Wstrict-prototypes -Wmissing-prototypes
43
44.if !make(obj) && !make(clean) && !make(cleandir)
45.BEGIN:
46	-rm -f machine ${MACHINE_ARCH}
47	ln -s $S/arch/${MACHINE}/include machine
48	ln -s $S/arch/${MACHINE_ARCH}/include ${MACHINE_ARCH}
49.endif
50
51CLEANFILES+= machine ${MACHINE_ARCH}
52
53### find out what to use for libkern
54KERN_AS=	library
55.include "${S}/lib/libkern/Makefile.inc"
56LIBKERN=	${KERNLIB}
57
58### find out what to use for libz
59Z_AS=		library
60.include "${S}/lib/libz/Makefile.inc"
61LIBZ=		${ZLIB}
62
63### find out what to use for libsa
64SA_AS=		library
65SAMISCMAKEFLAGS+= SA_INCLUDE_NET=no
66CPPFLAGS+=	-DLIBSA_NO_RAW_ACCESS \
67		-DHEAP_VARIABLE
68.include "${S}/lib/libsa/Makefile.inc"
69LIBSA=		${SALIB}
70
71### find out what to use for libriscos
72RISCOS_AS=		library
73.include "${S}/arch/acorn32/stand/lib/Makefile.inc"
74LIBRISCOS=		${RISCOSLIB}
75
76${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBRISCOS}
77	${_MKTARGET_LINK}
78	${LD} -o ${.TARGET} ${LINKFLAGS} ${OBJS} \
79	    --start-group ${LIBSA} ${LIBZ} ${LIBRISCOS} ${LIBKERN} --end-group
80	${SIZE} ${.TARGET}
81
82${PROG},${RISCOSTYPE}: ${PROG}
83	${_MKTARGET_CREATE}
84	${OBJCOPY} --output-target=binary ${.ALLSRC} ${.TARGET}
85
86realall: ${PROG},${RISCOSTYPE}
87
88CLEANFILES+=	${PROG},${RISCOSTYPE}
89FILES+=		${PROG},${RISCOSTYPE}
90
91.include <bsd.prog.mk>
92