1 # $NetBSD: Makefile,v 1.37 2023/06/03 08:52:56 lukem Exp $ 2 3 NOMAN= # defined 4 5 .include <bsd.own.mk> 6 7 COMMON= ${.CURDIR}/../common 8 COMMONOBJ!= cd ${COMMON} && ${PRINTOBJDIR} 9 10 .PATH: ${.CURDIR}/../boot ${COMMONOBJ} ${.CURDIR}/../../../powerpc/powerpc 11 12 S= ${.CURDIR}/../../../.. 13 L= ${COMMONOBJ}/lib 14 15 ELF2PEF= ${.CURDIR}/../../../powerpc/stand/mkbootimage 16 17 COMMONLIBDIR= ${.CURDIR}/../../../../../common 18 19 BASE?= boot 20 PROG= ${BASE} 21 NEWVERSWHAT= "BOOT" 22 23 SRCS= srt0.s 24 SRCS+= boot.c clock.c com.c conf.c cons.c cpu.c devopen.c 25 SRCS+= fd.c filesystem.c inkernel.c io.c kbd.c monitor.c ns16550.c 26 SRCS+= pci.c prf.c sd.c siop.c tgets.c vga.c video.c vreset.c wdc.c wd.c 27 SRCS+= setjmp.S 28 29 CFLAGS= -Wno-main -ffreestanding 30 AFLAGS= -x assembler-with-cpp 31 32 CPPFLAGS= -nostdinc 33 CPPFLAGS+= -I${.OBJDIR} -I${S} -I${COMMONLIBDIR}/include -I${S}/lib/libsa 34 CPPFLAGS+= -I${ELF2PEF} 35 CPPFLAGS+= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes 36 CPPFLAGS+= -D_STANDALONE -DRELOC=${RELOC} -DUSE_SCAN 37 CPPFLAGS+= -D__daddr_t=int32_t 38 #CPPFLAGS+= -DDBMONITOR 39 40 .if (${BASE} == "boot") 41 CPPFLAGS+= -DCONS_BE 42 .elif (${BASE} == "boot_com0") 43 CPPFLAGS+= -DCONS_SERIAL -DCOMSPEED=9600 -DCOMPORT=0x3f8 44 .elif (${BASE} == "boot_vga") 45 CPPFLAGS+= -DCONS_VGA 46 .endif 47 48 STRIPFLAG= 49 BINMODE= 444 50 51 # XXX SHOULD NOT NEED TO DEFINE THESE! 52 LIBCRT0= 53 LIBCRTI= 54 LIBC= 55 LIBCRTBEGIN= 56 LIBCRTEND= 57 58 RELOC= 0x700000 59 60 CLEANFILES+= ${PROG}.elf 61 62 LIBS= ${L}/sa/libsa.a ${L}/kern/libkern.a ${L}/z/libz.a 63 64 ${PROG}: ${OBJS} ${LIBS} 65 ${_MKTARGET_LINK} 66 ${LD} -o ${PROG}.elf -N -T ${.CURDIR}/../boot/ld.script \ 67 -Ttext ${RELOC} ${OBJS} ${LIBS} 68 ${STRIP} -o ${PROG} ${PROG}.elf 69 70 .include "${S}/conf/newvers_stand.mk" 71 72 CWARNFLAGS.gcc+= ${CC_WNO_ADDRESS_OF_PACKED_MEMBER} 73 74 .include <bsd.prog.mk> 75 .include <bsd.klinks.mk> 76