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