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