Home | History | Annotate | Line # | Download | only in ofwboot
Makefile revision 1.7
      1  1.7  nakayama #	$NetBSD: Makefile,v 1.7 2003/05/17 02:30:15 nakayama Exp $
      2  1.1       mrg 
      3  1.1       mrg CURDIR=	${.CURDIR}
      4  1.1       mrg S=	${CURDIR}/../../../..
      5  1.1       mrg 
      6  1.1       mrg #
      7  1.1       mrg # Override normal settings
      8  1.1       mrg #
      9  1.1       mrg 
     10  1.1       mrg WARNS=		0
     11  1.1       mrg 
     12  1.1       mrg PROG?=		ofwboot
     13  1.1       mrg SRCS=		srt0.s Locore.c boot.c ofdev.c alloc.c net.c netif_of.c vers.c
     14  1.1       mrg .PATH:		${S}/arch/sparc64/sparc64
     15  1.1       mrg 
     16  1.1       mrg CWARNFLAGS+=	-Wno-main
     17  1.2       mrg CFLAGS+=	${COPTS} ${CEXTRAFLAGS}
     18  1.2       mrg CPPFLAGS+=	-D_STANDALONE -DSUN4U
     19  1.4   thorpej CPPFLAGS+=	-DBOOT_ELF32 -DBOOT_ELF64
     20  1.1       mrg #CPPFLAGS+=	-DNETIF_DEBUG 
     21  1.1       mrg 
     22  1.5        tv NOMAN=		# defined
     23  1.1       mrg STRIPFLAG=
     24  1.1       mrg BINMODE=	444
     25  1.1       mrg 
     26  1.1       mrg NEWVERSWHAT=	"OpenFirmware Boot"
     27  1.1       mrg 
     28  1.1       mrg #
     29  1.1       mrg # Elf64 defaults to 1MB
     30  1.1       mrg #
     31  1.1       mrg # We may get address conflicts with other bootloaders, say
     32  1.1       mrg # Sun's ufsboot, so we'll pick a reasonably empty address.
     33  1.1       mrg #
     34  1.1       mrg RELOC=		800000
     35  1.1       mrg 
     36  1.1       mrg ENTRY=		_start
     37  1.1       mrg 
     38  1.6  nakayama CLEANFILES+=	vers.c sparc64 machine
     39  1.1       mrg 
     40  1.1       mrg CPPFLAGS+=	-I${CURDIR}/../../.. -I${CURDIR}/../../../.. -I${CURDIR} -I.
     41  1.1       mrg CPPFLAGS+=	-DRELOC=0x${RELOC}
     42  1.1       mrg 
     43  1.1       mrg #
     44  1.1       mrg # XXXXX FIXME
     45  1.1       mrg #
     46  1.1       mrg CPPFLAGS+=	-DSPARC_BOOT_AOUT
     47  1.1       mrg CPPFLAGS+=	-DSPARC_BOOT_ELF
     48  1.1       mrg CPPFLAGS+=	-DSPARC_BOOT_UFS
     49  1.1       mrg CPPFLAGS+=	-DSPARC_BOOT_NFS
     50  1.1       mrg #CPPFLAGS+=	-DSPARC_BOOT_HSFS
     51  1.1       mrg 
     52  1.1       mrg ### find out what to use for libkern
     53  1.1       mrg KERN_AS=	library
     54  1.1       mrg .include "${S}/lib/libkern/Makefile.inc"
     55  1.1       mrg LIBKERN=	${KERNLIB}
     56  1.1       mrg 
     57  1.1       mrg ### find out what to use for libz
     58  1.1       mrg Z_AS=		library
     59  1.1       mrg .include "${S}/lib/libz/Makefile.inc"
     60  1.1       mrg LIBZ=		${ZLIB}
     61  1.1       mrg 
     62  1.1       mrg ### find out what to use for libsa
     63  1.1       mrg SA_AS=		library
     64  1.1       mrg SAMISCMAKEFLAGS= SA_USE_CREAD=yes
     65  1.1       mrg .include "${S}/lib/libsa/Makefile.inc"
     66  1.1       mrg LIBSA=		${SALIB}
     67  1.1       mrg 
     68  1.2       mrg .NOPATH: machine sparc64
     69  1.2       mrg ${SRCS}: machine sparc64
     70  1.1       mrg 
     71  1.1       mrg machine:
     72  1.1       mrg 	rm -f machine
     73  1.2       mrg 	ln -s sparc64 machine
     74  1.1       mrg 
     75  1.2       mrg sparc64:
     76  1.2       mrg 	rm -f sparc64
     77  1.2       mrg 	ln -s ${.CURDIR}/../../../sparc64/include sparc64
     78  1.7  nakayama 
     79  1.7  nakayama cleandir distclean: cleanlibdir
     80  1.7  nakayama 
     81  1.7  nakayama cleanlibdir:
     82  1.7  nakayama 	rm -rf lib
     83  1.1       mrg 
     84  1.1       mrg vers.c: version
     85  1.1       mrg 	sh ${S}/conf/newvers_stand.sh ${CURDIR}/version "sparc64" ${NEWVERSWHAT}
     86  1.1       mrg 
     87  1.1       mrg .if CROSS
     88  1.1       mrg ${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
     89  1.1       mrg 	${LD} -N -p -Ttext ${RELOC} -e ${ENTRY} >lderr -o ${PROG} \
     90  1.1       mrg 	    ${OBJS} -L${SADST} -lsa -L${ZDST} -lz -L${KERNDST} -lkern # solaris linker
     91  1.1       mrg .else
     92  1.1       mrg ${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
     93  1.1       mrg 	${LD} -X -N -Ttext ${RELOC} -e ${ENTRY} -o ${PROG} \
     94  1.1       mrg 	    ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}	# native linker
     95  1.1       mrg .endif
     96  1.1       mrg 
     97  1.1       mrg .include <bsd.prog.mk>
     98  1.1       mrg 
     99  1.2       mrg .if ${MACHINE_ARCH} == "sparc64"
    100  1.2       mrg AFLAGS+=		-Wa,-Av9a
    101  1.2       mrg CEXTRAFLAGS?=		-D_LP64
    102  1.2       mrg .else
    103  1.2       mrg AFLAGS+=		-Wa,-Av8plusa
    104  1.2       mrg .endif
    105  1.2       mrg 
    106  1.1       mrg .if CROSS
    107  1.2       mrg AFLAGS+=		-x assembler-with-cpp -traditional-cpp -D_LOCORE -D__ELF__
    108  1.2       mrg CEXTRAFLAGS?=		-D_LP64
    109  1.1       mrg .else
    110  1.2       mrg AFLAGS+=		-x assembler-with-cpp -traditional-cpp -D_LOCORE -D__ELF__ ${CEXTRAFLAGS}
    111  1.1       mrg .endif
    112  1.2       mrg 
    113  1.1       mrg NORMAL_S=	${CC} ${AFLAGS} ${CPPFLAGS} -c $<
    114  1.1       mrg srt0.o: srt0.s
    115  1.1       mrg 	${NORMAL_S}
    116  1.1       mrg 
    117  1.1       mrg # Explicit dependency for this.
    118  1.1       mrg boot.o: boot.c elfXX_exec.c
    119