Home | History | Annotate | Line # | Download | only in boot
Makefile revision 1.10
      1 #	$NetBSD: Makefile,v 1.10 2001/12/12 01:49:48 tv Exp $
      2 
      3 S=	${.CURDIR}/../../../..
      4 
      5 ### find out what to use for libkern
      6 KERN_AS=        library
      7 .include "${S}/lib/libkern/Makefile.inc"
      8 #LIBKERN=        ${KERNLIB}
      9 
     10 ### find out what to use for libz
     11 Z_AS=           library
     12 .include "${S}/lib/libz/Makefile.inc"
     13 #LIBZ=           ${ZLIB}
     14 
     15 ### find out what to use for libsa
     16 SA_AS=          library
     17 SAMISCMAKEFLAGS= SA_USE_LOADFILE=yes # SA_USE_CREAD=yes
     18 .include "${S}/lib/libsa/Makefile.inc"
     19 #LIBSA=          ${SALIB}
     20 
     21 RELOC=	4380000
     22 
     23 # XXX make defs arch-indep.
     24 INCLUDES+=	-I${.CURDIR} -I${.CURDIR}/obj.${MACHINE} -I${S}/arch -I${S} -I${S}/lib/libsa -I${S}/lib/libkern
     25 DEFS+=		-D_STANDALONE -DMC68040 -DSUPPORT_BOOTP -DSUPPORT_DHCP  -DDEBUG -DSD_DEBUG -DSCSI_DEBUG # -DEN_DEBUG   -DNETIF_DEBUG  
     26 SAMISCCPPFLAGS=	-DSUPPORT_DHCP -DSUPPORT_BOOTP -DINSECURE # -DBOOTP_DEBUG -DETHER_DEBUG -DNET_DEBUG # -DNETIF_DEBUG -DNFS_DEBUG  -DARP_DEBUG 
     27 WARNS=1
     28 HAVE_GCC28!=	${CC} --version | egrep "^(2\.8|egcs)" ; echo 
     29 .if (${HAVE_GCC28} != "")
     30 CWARNFLAGS+=	-Wno-main
     31 .endif
     32 CFLAGS+=	 -nostdinc ${INCLUDES} ${DEFS}
     33 LIBCRT0=
     34 
     35 PROG=	boot
     36 SRCS=   boot.c machdep.c conf.c devopen.c rtc.c sd.c scsi.c en.c vers.c build.c
     37 # @@@ dev_net.c should really be in libsa, but it doesn't
     38 # declare ip_convertaddr correctly, so I put it here _temporarily_.
     39 
     40 CLEANFILES+= srt0.o boot.elf boot.raw machine ${MACHINE_ARCH} limits.h
     41 CLEANFILES+= vers.c build.c build	# generated dynamically
     42 
     43 NOMAN=	# defined
     44 BINDIR=	/usr/mdec
     45 #LIBS=	${SALIB} ${KERNLIB} ${ZLIB}
     46 LIBS=	${SALIB} ${KERNLIB}
     47 
     48 OBJS+=	dev_net.o
     49 
     50 AWKPROG='\
     51 function x(v) { printf "\0%c%c%c", v / 65536, v / 256, v } \
     52 { \
     53 	printf "\0\207\01\07"; \
     54 	x($$1); \
     55 	x($$2); \
     56 	x($$3); \
     57 	printf "\0\0\0\0\04\070\0\0\0\0\0\0\0\0\0\0" \
     58 }'
     59 
     60 ${PROG}: links srt0.o ${OBJS} ${LIBS}
     61 	${LD} -N -Ttext ${RELOC} -e start srt0.o ${OBJS} ${LIBS} -o $@.elf
     62 	@${SIZE} $@.elf
     63 	@${OBJCOPY} -O binary $@.elf $@.raw
     64 	@(${SIZE} $@.elf | tail +2 | awk ${AWKPROG} ; cat $@.raw) > $@
     65 
     66 # this looks useful to me ... let's see when it will be an official part
     67 # of libsa
     68 dev_net.o : ${S}/lib/libsa/dev_net.c
     69 	${COMPILE.c} ${.IMPSRC}
     70 
     71 # startup
     72 
     73 srt0.o: ${.CURDIR}/srt0.s
     74 	${CC} -m68040 -x assembler-with-cpp ${INCLUDES} ${DEFS} -c ${.CURDIR}/srt0.s
     75 
     76 .PHONY: build.c
     77 build.c:
     78 	sh ${.CURDIR}/newvers.sh
     79 
     80 vers.c: version
     81 	sh ${S}/conf/newvers_stand.sh -MD ${.CURDIR}/version "next68k"
     82 
     83 #installboot: ${.CURDIR}/installboot.sh
     84 #	@rm -f installboot
     85 #	cp -p ${.CURDIR}/installboot.sh installboot
     86 
     87 # utilities
     88 
     89 links:
     90 	rm -f machine
     91 	ln -s ${S}/arch/${MACHINE}/include machine
     92 	rm -f ${MACHINE_ARCH}
     93 	ln -s ${S}/arch/${MACHINE_ARCH}/include ${MACHINE_ARCH}
     94 	rm -f limits.h
     95 	ln -s machine/limits.h limits.h
     96 
     97 .include <bsd.prog.mk>
     98