1 # $NetBSD: Makefile.xxboot,v 1.13 2020/08/10 07:00:49 rin 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 -Wno-attributes 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+= -DHEAP_START=0x00100000 40 CPPFLAGS+= -nostdinc -I${.OBJDIR} -I${S} 41 CPPFLAGS+= -I$M/stand/libiocs -I$M/stand/libsa -I$M/stand/common 42 AFLAGS= ${CFLAGS:M-[ID]*} 43 LINKFLAGS= -n -Bstatic -T ${.CURDIR}/../xxboot.ldscript 44 LINKFLAGS+= --defsym=TEXTADDR=$(TEXT) 45 LINKFLAGS+= --defsym=BOOT_TEXTADDR=$(BOOT_TEXT) 46 LINKFLAGS+= --defsym=TEXTDATASIZE=$(TEXTDATASIZE) 47 LIBIOCS!= cd $M/stand/libiocs && ${PRINTOBJDIR} 48 LIBSA!= cd $M/stand/libsa && ${PRINTOBJDIR} 49 LDLIBS= -L${LIBSA}/lib/sa -lsa -L ${LIBSA}/lib/kern -lkern 50 LDLIBS+= -L${LIBIOCS} -liocs 51 52 .PATH: $S/lib/libsa 53 CPPFLAGS+= -DLIBSA_SINGLE_FILESYSTEM=$(FS) 54 CPPFLAGS+= -DLIBSA_SINGLE_DEVICE=$(DEV) 55 CPPFLAGS+= -DLIBSA_NO_TWIDDLE -DLIBSA_NO_FD_CHECKING -DLIBSA_NO_RAW_ACCESS -DLIBSA_NO_FS_WRITE 56 SRCS+= open.c close.c read.c lseek.c loadfile.c loadfile_aout.c alloc.c 57 SRCS+= $(FS).c 58 59 .PATH: $M/stand/common 60 SRCS+= exec_image.S 61 62 .include "${.CURDIR}/../../Makefile.booters" 63 64 65 ${PROG}: $(OBJS) 66 ${_MKTARGET_LINK} 67 $(LD) $(LINKFLAGS) -o ${PROG} $(OBJS) $(LDLIBS) 68 ${TOUCHPROG} 69 70 .include <bsd.prog.mk> 71