Home | History | Annotate | Line # | Download | only in boot
Makefile revision 1.24.14.1
      1  1.24.14.1       tls #	$NetBSD: Makefile,v 1.24.14.1 2012/11/20 03:01:37 tls 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.12  jdolecek INCLUDES+=	-I${.OBJDIR} -I${S}/arch -I${S} -I${S}/lib/libsa 
     27        1.7       dbj DEFS+=		-D_STANDALONE -DMC68040 -DSUPPORT_BOOTP -DSUPPORT_DHCP  -DDEBUG -DSD_DEBUG -DSCSI_DEBUG # -DEN_DEBUG   -DNETIF_DEBUG  
     28       1.23      elad SAMISCCPPFLAGS=	-DSUPPORT_DHCP -DSUPPORT_BOOTP -DSA_EXEC_ANYOWNER # -DBOOTP_DEBUG -DETHER_DEBUG -DNET_DEBUG # -DNETIF_DEBUG -DNFS_DEBUG  -DARP_DEBUG 
     29        1.5        tv WARNS=1
     30       1.11  jdolecek CFLAGS+=	 -ffreestanding -nostdinc ${INCLUDES} ${DEFS}
     31       1.22   tsutsui CFLAGS+=	-Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
     32       1.22   tsutsui AFLAGS+=	${INCLUDES}
     33       1.18    simonb # XXX SHOULD NOT NEED TO DEFINE THESE!
     34        1.1       dbj LIBCRT0=
     35       1.18    simonb LIBC=
     36       1.18    simonb LIBCRTBEGIN=
     37       1.18    simonb LIBCRTEND=
     38        1.1       dbj 
     39        1.1       dbj PROG=	boot
     40        1.8  jdolecek SRCS=   boot.c machdep.c conf.c devopen.c rtc.c sd.c scsi.c en.c vers.c build.c
     41       1.12  jdolecek 
     42        1.1       dbj # @@@ dev_net.c should really be in libsa, but it doesn't
     43        1.1       dbj # declare ip_convertaddr correctly, so I put it here _temporarily_.
     44       1.12  jdolecek .PATH: ${S}/lib/libsa
     45       1.12  jdolecek SRCS+=	dev_net.c
     46        1.1       dbj 
     47        1.9       chs CLEANFILES+= srt0.o boot.elf boot.raw machine ${MACHINE_ARCH} limits.h
     48        1.8  jdolecek CLEANFILES+= vers.c build.c build	# generated dynamically
     49        1.8  jdolecek 
     50        1.1       dbj BINDIR=	/usr/mdec
     51        1.1       dbj #LIBS=	${SALIB} ${KERNLIB} ${ZLIB}
     52        1.1       dbj LIBS=	${SALIB} ${KERNLIB}
     53       1.13  jdolecek 
     54       1.13  jdolecek # do not strip ${PROG} on install
     55       1.13  jdolecek STRIPFLAG=	# defined
     56        1.7       dbj 
     57        1.9       chs AWKPROG='\
     58       1.15   mycroft function x(v) { printf "\\0\\%o\\%o\\%o", (v / 65536) % 256, (v / 256) % 256, v % 256 } \
     59        1.9       chs { \
     60       1.15   mycroft 	printf "\047\\0\\207\\01\\07"; \
     61        1.9       chs 	x($$1); \
     62        1.9       chs 	x($$2); \
     63        1.9       chs 	x($$3); \
     64       1.14  christos 	printf "\\0\\0\\0\\0\\04\\070\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\047" \
     65        1.9       chs }'
     66        1.9       chs 
     67       1.11  jdolecek ${PROG}: srt0.o ${OBJS} ${LIBS}
     68        1.9       chs 	${LD} -N -Ttext ${RELOC} -e start srt0.o ${OBJS} ${LIBS} -o $@.elf
     69       1.15   mycroft 	${SIZE} $@.elf
     70       1.15   mycroft 	${OBJCOPY} -O binary $@.elf $@.raw
     71       1.21       apb 	(${SIZE} $@.elf | tail +2 | ${TOOL_AWK} ${AWKPROG} | \
     72       1.21       apb 		xargs printf ; cat $@.raw) > $@
     73        1.1       dbj 
     74        1.1       dbj # startup
     75        1.1       dbj 
     76        1.1       dbj srt0.o: ${.CURDIR}/srt0.s
     77        1.9       chs 	${CC} -m68040 -x assembler-with-cpp ${INCLUDES} ${DEFS} -c ${.CURDIR}/srt0.s
     78        1.1       dbj 
     79        1.8  jdolecek .PHONY: build.c
     80        1.8  jdolecek build.c:
     81       1.19     lukem 	${HOST_SH} ${.CURDIR}/newvers.sh
     82        1.8  jdolecek 
     83        1.8  jdolecek vers.c: version
     84       1.24     joerg 	${HOST_SH} ${S}/conf/newvers_stand.sh ${.CURDIR}/version "next68k"
     85        1.1       dbj 
     86        1.1       dbj #installboot: ${.CURDIR}/installboot.sh
     87        1.1       dbj #	@rm -f installboot
     88        1.1       dbj #	cp -p ${.CURDIR}/installboot.sh installboot
     89        1.1       dbj 
     90        1.1       dbj # utilities
     91        1.1       dbj 
     92       1.11  jdolecek .if !make(obj) && !make(clean) && !make(cleandir)
     93       1.22   tsutsui .NOPATH: machine ${MACHINE_ARCH}
     94       1.22   tsutsui .BEGIN: machine ${MACHINE_ARCH}
     95       1.22   tsutsui 
     96       1.22   tsutsui machine:
     97       1.22   tsutsui 	-rm -f machine
     98        1.1       dbj 	ln -s ${S}/arch/${MACHINE}/include machine
     99       1.22   tsutsui 
    100       1.22   tsutsui ${MACHINE_ARCH}:
    101       1.22   tsutsui 	-rm -f ${MACHINE_ARCH}
    102        1.1       dbj 	ln -s ${S}/arch/${MACHINE_ARCH}/include ${MACHINE_ARCH}
    103       1.11  jdolecek .endif
    104        1.1       dbj 
    105        1.1       dbj .include <bsd.prog.mk>
    106