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