Home | History | Annotate | Line # | Download | only in boot
      1 #	$NetBSD: Makefile,v 1.18 2021/06/15 17:17:57 tsutsui Exp $
      2 #	@(#)Makefile	8.2 (Berkeley) 8/15/93
      3 
      4 NOMAN= # defined
      5 NOPIE= # defined
      6 
      7 .include <bsd.own.mk>
      8 
      9 S= ${.CURDIR}/../../../..
     10 LIBSADIR=	${S}/lib/libsa
     11 
     12 CPPFLAGS+=	-nostdinc -D_STANDALONE
     13 CPPFLAGS+=	-I${.CURDIR} -I${.OBJDIR} -I${S} -I${S}/arch
     14 
     15 CPPFLAGS+=	-DSUPPORT_DISK
     16 #CPPFLAGS+=	-DSUPPORT_TAPE
     17 CPPFLAGS+=	-DSUPPORT_ETHERNET
     18 CPPFLAGS+=	-DSUPPORT_DHCP -DSUPPORT_BOOTP
     19 #CPPFLAGS+=	-DBOOTP_DEBUG -DNETIF_DEBUG -DETHER_DEBUG -DNFS_DEBUG
     20 #CPPFLAGS+=	-DRPC_DEBUG -DRARP_DEBUG -DNET_DEBUG -DDEBUG -DPARANOID
     21 CPPFLAGS+=	-DLIBSA_ENABLE_LS_OP
     22 CPPFLAGS+=	-DLIBSA_PRINTF_WIDTH_SUPPORT
     23 CPPFLAGS+=	-DLIBSA_CREAD_NOCRC
     24 
     25 CFLAGS=		-Os -fno-unwind-tables -msoft-float
     26 CFLAGS+=	-ffreestanding
     27 CFLAGS+=	-Wall -Werror
     28 CFLAGS+=	-Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
     29 CFLAGS+=	-Wno-pointer-sign
     30 
     31 TEXTADDR=	700000
     32 LDSCRIPT=	${.CURDIR}/boot.ldscript
     33 LINKFORMAT=	-static -N -Ttext ${TEXTADDR} -T ${LDSCRIPT}
     34 
     35 ELF2AOUT_OPTS=	-O	# LUNA's firmware requires OMAGIC a.out
     36 
     37 SRCS=	locore.S
     38 SRCS+=	init_main.c autoconf.c
     39 SRCS+=	trap.c
     40 SRCS+=	devopen.c
     41 SRCS+=	conf.c
     42 SRCS+=	machdep.c
     43 SRCS+=	getline.c parse.c
     44 SRCS+=	boot.c
     45 SRCS+=	cons.c prf.c awaitkey.c
     46 SRCS+=	romcons.c
     47 SRCS+=	sio.c
     48 SRCS+=	bmc.c bmd.c screen.c font.c kbd.c
     49 SRCS+=	scsi.c sc.c sd.c
     50 #SRCS+=	st.c tape.c
     51 SRCS+=	disklabel.c
     52 #SRCS+=	fsdump.c
     53 SRCS+=	ufs_disksubr.c
     54 SRCS+=	ls.c
     55 
     56 # netboot support
     57 SRCS+=	if_le.c lance.c getsecs.c
     58 .PATH: ${LIBSADIR}
     59 SRCS+=	dev_net.c
     60 
     61 PROG=   boot
     62 
     63 NEWVERSWHAT=	"${PROG}"
     64 
     65 ### find out what to use for libkern
     66 KERN_AS=	library
     67 .include "${S}/lib/libkern/Makefile.inc"
     68 
     69 ### find out what to use for libz
     70 Z_AS=		library
     71 .include "${S}/lib/libz/Makefile.inc"
     72 
     73 ### find out what to use for libsa
     74 SA_AS=		library
     75 SAMISCMAKEFLAGS+=SA_USE_LOADFILE=yes SA_USE_CREAD=yes SA_ENABLE_LS_OP=yes
     76 .include "${S}/lib/libsa/Makefile.inc"
     77 
     78 LIBS=	${SALIB} ${ZLIB} ${KERNLIB}
     79 
     80 .include "${S}/conf/newvers_stand.mk"
     81 
     82 ${PROG}: ${LDSCRIPT} ${OBJS} ${LIBS}
     83 	${_MKTARGET_LINK}
     84 	${LD} ${LINKFORMAT} -x -o ${PROG}.elf ${OBJS} ${LIBS}
     85 	${M68K_ELF2AOUT} ${ELF2AOUT_OPTS} ${PROG}.elf ${PROG}.aout
     86 	mv ${PROG}.aout ${PROG}
     87 
     88 CLEANFILES+=	${PROG}.aout ${PROG}.elf
     89 
     90 cleandir distclean: .WAIT cleanlibdir
     91 
     92 cleanlibdir:
     93 	-rm -rf lib
     94 
     95 .include <bsd.klinks.mk>
     96 .include <bsd.prog.mk>
     97