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