Home | History | Annotate | Line # | Download | only in xxboot
Makefile.xxboot revision 1.17
      1  1.17     isaki #	$NetBSD: Makefile.xxboot,v 1.17 2020/08/14 03:54:46 isaki Exp $
      2   1.1   minoura 
      3   1.1   minoura NOMAN=		# defined
      4   1.1   minoura 
      5   1.1   minoura .include <bsd.own.mk>
      6   1.1   minoura 
      7  1.16     isaki BOOT=	xxboot_$(FS)
      8   1.1   minoura VERSIONFILE=	${.CURDIR}/../version
      9   1.1   minoura VERSION!=	${TOOL_AWK} -F: '$$1 ~ /^[0-9.]*$$/ { it = $$1; } \
     10   1.1   minoura 			END { print it }' ${VERSIONFILE}
     11   1.1   minoura NEWVERSWHAT=	"${BOOT}"
     12   1.1   minoura 
     13   1.8     isaki # text and bss addresses
     14   1.9     isaki TEXT=		0x003000	# Primary (me)
     15   1.8     isaki TEXTDATASIZE=	0x002000	# 8KB for UFS at maximum
     16   1.9     isaki 				# 30KB (=(16-1)*2048) for ISO9660 at max.
     17   1.9     isaki 				# but should use up to 8KB.  See boot.S
     18   1.8     isaki BOOT_TEXT=	0x006000	# Secondary (/boot)
     19   1.1   minoura 
     20   1.1   minoura PROG=		$(BOOT)
     21   1.1   minoura BINDIR=		/usr/mdec
     22   1.1   minoura STRIPFLAG=
     23   1.1   minoura BINMODE=	444
     24   1.1   minoura 
     25   1.1   minoura S=		${.CURDIR}/../../../../..
     26   1.1   minoura M=		$S/arch/x68k
     27   1.1   minoura .PATH:		${.CURDIR}/..
     28  1.16     isaki SRCS=	boot.S bootmain.c conf.c consio1.c xx.c
     29   1.1   minoura 
     30   1.4  christos .include "${S}/conf/newvers_stand.mk"
     31   1.1   minoura 
     32  1.13       rin CFLAGS=	-Os -fomit-frame-pointer -fno-unwind-tables -Wno-attributes
     33   1.1   minoura #CFLAGS+= -Wall
     34   1.1   minoura CPPFLAGS+= -D_STANDALONE
     35   1.8     isaki CPPFLAGS+= -DTEXTADDR="$(TEXT)" -DBOOT_TEXTADDR="$(BOOT_TEXT)"
     36   1.8     isaki CPPFLAGS+= -DTDSIZE="$(TEXTDATASIZE)"
     37   1.1   minoura CPPFLAGS+= -DPROG=\"$(PROG)\" -DBOOT_VERS=\"$(VERSION)\"
     38   1.1   minoura CPPFLAGS+= -DBOOT_STAGE1 $(BOOTCPPFLAGS)
     39  1.12     isaki CPPFLAGS+= -DHEAP_START=0x00100000
     40   1.1   minoura CPPFLAGS+= -nostdinc -I${.OBJDIR} -I${S}
     41   1.1   minoura CPPFLAGS+= -I$M/stand/libiocs -I$M/stand/libsa -I$M/stand/common
     42   1.1   minoura AFLAGS=	   ${CFLAGS:M-[ID]*}
     43  1.17     isaki AFLAGS+=   -Wa,-l
     44  1.10     isaki LINKFLAGS=   -n -Bstatic -T ${.CURDIR}/../xxboot.ldscript
     45   1.8     isaki LINKFLAGS+=  --defsym=TEXTADDR=$(TEXT)
     46  1.11     isaki LINKFLAGS+=  --defsym=BOOT_TEXTADDR=$(BOOT_TEXT)
     47   1.8     isaki LINKFLAGS+=  --defsym=TEXTDATASIZE=$(TEXTDATASIZE)
     48   1.1   minoura LIBIOCS!= cd $M/stand/libiocs && ${PRINTOBJDIR}
     49   1.1   minoura LIBSA!=	  cd $M/stand/libsa && ${PRINTOBJDIR}
     50   1.1   minoura LDLIBS=	  -L${LIBSA}/lib/sa -lsa -L ${LIBSA}/lib/kern -lkern
     51   1.1   minoura LDLIBS+=  -L${LIBIOCS} -liocs
     52   1.1   minoura 
     53   1.1   minoura .PATH: $S/lib/libsa
     54   1.1   minoura CPPFLAGS+= -DLIBSA_SINGLE_FILESYSTEM=$(FS)
     55  1.16     isaki CPPFLAGS+= -DLIBSA_SINGLE_DEVICE=xx
     56  1.15     isaki CPPFLAGS+= -DLIBSA_NO_FD_CHECKING
     57  1.15     isaki CPPFLAGS+= -DLIBSA_NO_FS_WRITE
     58  1.15     isaki CPPFLAGS+= -DLIBSA_NO_RAW_ACCESS
     59  1.15     isaki CPPFLAGS+= -DLIBSA_NO_TWIDDLE
     60   1.1   minoura SRCS+=	open.c close.c read.c lseek.c loadfile.c loadfile_aout.c alloc.c
     61   1.1   minoura SRCS+=  $(FS).c
     62   1.1   minoura 
     63   1.1   minoura .PATH: $M/stand/common
     64   1.1   minoura SRCS+=	exec_image.S
     65   1.1   minoura 
     66   1.1   minoura .include "${.CURDIR}/../../Makefile.booters"
     67   1.1   minoura 
     68  1.14     isaki CLEANFILES+=	${PROG}.map
     69  1.14     isaki 
     70   1.1   minoura 
     71   1.1   minoura ${PROG}: $(OBJS)
     72   1.1   minoura 	${_MKTARGET_LINK}
     73  1.14     isaki 	$(LD) $(LINKFLAGS) -Map=${PROG}.map -o ${PROG} $(OBJS) $(LDLIBS)
     74  1.14     isaki 	: Print some addresses for convenience
     75  1.14     isaki 	@${TOOL_AWK} '/first_kbyte$$/ { print "\t\t" $$2 "\t" $$1 }' ${PROG}.map
     76  1.14     isaki 	@echo "		filesize	"`${TOOL_STAT} -f %z ${PROG}`
     77  1.14     isaki 	@if [ `${TOOL_STAT} -f %z ${PROG}` -gt 8192 ]; then \
     78  1.14     isaki 	    echo "${PROG} filesize exceeds 8192 bytes"; \
     79  1.14     isaki 		exit 1; \
     80  1.14     isaki 	fi
     81   1.1   minoura 	${TOUCHPROG}
     82   1.1   minoura 
     83   1.1   minoura .include <bsd.prog.mk>
     84