Home | History | Annotate | Line # | Download | only in boot
      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