1 # $NetBSD: Makefile.xxboot,v 1.10 2020/01/18 06:44:23 isaki Exp $ 2 3 NOMAN= # defined 4 5 .include <bsd.own.mk> 6 7 BOOT= $(DEV)boot_$(FS) 8 VERSIONFILE= ${.CURDIR}/../version 9 VERSION!= ${TOOL_AWK} -F: '$$1 ~ /^[0-9.]*$$/ { it = $$1; } \ 10 END { print it }' ${VERSIONFILE} 11 NEWVERSWHAT= "${BOOT}" 12 13 # text and bss addresses 14 TEXT= 0x003000 # Primary (me) 15 TEXTDATASIZE= 0x002000 # 8KB for UFS at maximum 16 # 30KB (=(16-1)*2048) for ISO9660 at max. 17 # but should use up to 8KB. See boot.S 18 BOOT_TEXT= 0x006000 # Secondary (/boot) 19 20 PROG= $(BOOT) 21 BINDIR= /usr/mdec 22 STRIPFLAG= 23 BINMODE= 444 24 25 S= ${.CURDIR}/../../../../.. 26 M= $S/arch/x68k 27 .PATH: ${.CURDIR}/.. 28 SRCS= boot.S bootmain.c conf.c consio1.c $(DEVDRV).c 29 30 .include "${S}/conf/newvers_stand.mk" 31 32 CFLAGS= -Os -fomit-frame-pointer -fno-unwind-tables 33 #CFLAGS+= -Wall 34 CPPFLAGS+= -D_STANDALONE 35 CPPFLAGS+= -DTEXTADDR="$(TEXT)" -DBOOT_TEXTADDR="$(BOOT_TEXT)" 36 CPPFLAGS+= -DTDSIZE="$(TEXTDATASIZE)" 37 CPPFLAGS+= -DPROG=\"$(PROG)\" -DBOOT_VERS=\"$(VERSION)\" 38 CPPFLAGS+= -DBOOT_STAGE1 $(BOOTCPPFLAGS) 39 CPPFLAGS+= -nostdinc -I${.OBJDIR} -I${S} 40 CPPFLAGS+= -I$M/stand/libiocs -I$M/stand/libsa -I$M/stand/common 41 AFLAGS= ${CFLAGS:M-[ID]*} 42 LINKFLAGS= -n -Bstatic -T ${.CURDIR}/../xxboot.ldscript 43 LINKFLAGS+= --defsym=TEXTADDR=$(TEXT) 44 LINKFLAGS+= --defsym=TEXTDATASIZE=$(TEXTDATASIZE) 45 LIBIOCS!= cd $M/stand/libiocs && ${PRINTOBJDIR} 46 LIBSA!= cd $M/stand/libsa && ${PRINTOBJDIR} 47 LDLIBS= -L${LIBSA}/lib/sa -lsa -L ${LIBSA}/lib/kern -lkern 48 LDLIBS+= -L${LIBIOCS} -liocs 49 50 .PATH: $S/lib/libsa 51 CPPFLAGS+= -DLIBSA_SINGLE_FILESYSTEM=$(FS) 52 CPPFLAGS+= -DLIBSA_SINGLE_DEVICE=$(DEV) 53 CPPFLAGS+= -DLIBSA_NO_TWIDDLE -DLIBSA_NO_FD_CHECKING -DLIBSA_NO_RAW_ACCESS -DLIBSA_NO_FS_WRITE 54 SRCS+= open.c close.c read.c lseek.c loadfile.c loadfile_aout.c alloc.c 55 SRCS+= $(FS).c 56 57 .PATH: $M/stand/common 58 SRCS+= exec_image.S 59 60 .include "${.CURDIR}/../../Makefile.booters" 61 62 63 ${PROG}: $(OBJS) 64 ${_MKTARGET_LINK} 65 $(LD) $(LINKFLAGS) -o ${PROG} $(OBJS) $(LDLIBS) 66 ${TOUCHPROG} 67 68 .include <bsd.prog.mk> 69