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