1 1.31 tsutsui # $NetBSD: Makefile,v 1.31 2023/02/09 15:20:40 tsutsui Exp $ 2 1.17 lukem 3 1.17 lukem NOMAN= # defined 4 1.1 dbj 5 1.1 dbj S= ${.CURDIR}/../../../.. 6 1.1 dbj 7 1.1 dbj ### find out what to use for libkern 8 1.1 dbj KERN_AS= library 9 1.1 dbj .include "${S}/lib/libkern/Makefile.inc" 10 1.1 dbj #LIBKERN= ${KERNLIB} 11 1.1 dbj 12 1.1 dbj ### find out what to use for libz 13 1.1 dbj Z_AS= library 14 1.1 dbj .include "${S}/lib/libz/Makefile.inc" 15 1.1 dbj #LIBZ= ${ZLIB} 16 1.1 dbj 17 1.1 dbj ### find out what to use for libsa 18 1.1 dbj SA_AS= library 19 1.9 chs SAMISCMAKEFLAGS= SA_USE_LOADFILE=yes # SA_USE_CREAD=yes 20 1.1 dbj .include "${S}/lib/libsa/Makefile.inc" 21 1.1 dbj #LIBSA= ${SALIB} 22 1.1 dbj 23 1.1 dbj RELOC= 4380000 24 1.1 dbj 25 1.1 dbj # XXX make defs arch-indep. 26 1.30 tsutsui INCLUDES+= -I${.OBJDIR} -I${S}/arch -I${S} -I${S}/lib/libsa 27 1.31 tsutsui DEFS+= -D_STANDALONE -DMC68040 -DSUPPORT_BOOTP -DSUPPORT_DHCP 28 1.31 tsutsui #DEFS+= -DDEBUG -DSD_DEBUG -DSCSI_DEBUG -DEN_DEBUG -DNETIF_DEBUG 29 1.31 tsutsui SAMISCCPPFLAGS= -DSUPPORT_DHCP -DSUPPORT_BOOTP -DSA_EXEC_ANYOWNER 30 1.31 tsutsui #SAMISCCPPFLAGS+= -DBOOTP_DEBUG -DETHER_DEBUG -DNET_DEBUG-DNETIF_DEBUG 31 1.31 tsutsui #SAMISCCPPFLAGS+= -DNFS_DEBUG -DARP_DEBUG 32 1.5 tv WARNS=1 33 1.31 tsutsui CFLAGS+= -ffreestanding -nostdinc ${INCLUDES} ${DEFS} 34 1.22 tsutsui CFLAGS+= -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith 35 1.22 tsutsui AFLAGS+= ${INCLUDES} 36 1.18 simonb # XXX SHOULD NOT NEED TO DEFINE THESE! 37 1.1 dbj LIBCRT0= 38 1.28 tsutsui LIBCRTI= 39 1.18 simonb LIBC= 40 1.18 simonb LIBCRTBEGIN= 41 1.18 simonb LIBCRTEND= 42 1.1 dbj 43 1.1 dbj PROG= boot 44 1.29 christos SRCS= boot.c machdep.c conf.c devopen.c rtc.c sd.c scsi.c en.c build.c 45 1.12 jdolecek 46 1.1 dbj # @@@ dev_net.c should really be in libsa, but it doesn't 47 1.1 dbj # declare ip_convertaddr correctly, so I put it here _temporarily_. 48 1.12 jdolecek .PATH: ${S}/lib/libsa 49 1.12 jdolecek SRCS+= dev_net.c 50 1.1 dbj 51 1.27 matt CLEANFILES+= srt0.o boot.elf boot.raw limits.h 52 1.29 christos CLEANFILES+= build.c build # generated dynamically 53 1.8 jdolecek 54 1.1 dbj BINDIR= /usr/mdec 55 1.1 dbj #LIBS= ${SALIB} ${KERNLIB} ${ZLIB} 56 1.1 dbj LIBS= ${SALIB} ${KERNLIB} 57 1.13 jdolecek 58 1.13 jdolecek # do not strip ${PROG} on install 59 1.13 jdolecek STRIPFLAG= # defined 60 1.7 dbj 61 1.9 chs AWKPROG='\ 62 1.15 mycroft function x(v) { printf "\\0\\%o\\%o\\%o", (v / 65536) % 256, (v / 256) % 256, v % 256 } \ 63 1.9 chs { \ 64 1.15 mycroft printf "\047\\0\\207\\01\\07"; \ 65 1.9 chs x($$1); \ 66 1.9 chs x($$2); \ 67 1.9 chs x($$3); \ 68 1.14 christos printf "\\0\\0\\0\\0\\04\\070\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\047" \ 69 1.9 chs }' 70 1.9 chs 71 1.11 jdolecek ${PROG}: srt0.o ${OBJS} ${LIBS} 72 1.27 matt ${_MKTARGET_LINK} 73 1.9 chs ${LD} -N -Ttext ${RELOC} -e start srt0.o ${OBJS} ${LIBS} -o $@.elf 74 1.15 mycroft ${SIZE} $@.elf 75 1.15 mycroft ${OBJCOPY} -O binary $@.elf $@.raw 76 1.21 apb (${SIZE} $@.elf | tail +2 | ${TOOL_AWK} ${AWKPROG} | \ 77 1.21 apb xargs printf ; cat $@.raw) > $@ 78 1.1 dbj 79 1.1 dbj # startup 80 1.1 dbj 81 1.1 dbj srt0.o: ${.CURDIR}/srt0.s 82 1.9 chs ${CC} -m68040 -x assembler-with-cpp ${INCLUDES} ${DEFS} -c ${.CURDIR}/srt0.s 83 1.1 dbj 84 1.8 jdolecek .PHONY: build.c 85 1.26 apb build.c: 86 1.19 lukem ${HOST_SH} ${.CURDIR}/newvers.sh 87 1.8 jdolecek 88 1.29 christos .include "${S}/conf/newvers_stand.mk" 89 1.1 dbj 90 1.1 dbj #installboot: ${.CURDIR}/installboot.sh 91 1.1 dbj # @rm -f installboot 92 1.1 dbj # cp -p ${.CURDIR}/installboot.sh installboot 93 1.1 dbj 94 1.1 dbj # utilities 95 1.1 dbj 96 1.1 dbj .include <bsd.prog.mk> 97 1.27 matt .include <bsd.klinks.mk> 98