Home | History | Annotate | Line # | Download | only in ofwboot
Makefile revision 1.13
      1  1.13    simonb #	$NetBSD: Makefile,v 1.13 2004/07/28 01:05:35 simonb 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.13    simonb # XXX SHOULD NOT NEED TO DEFINE THESE!
     17  1.13    simonb LIBCRT0=
     18  1.13    simonb LIBC=
     19  1.13    simonb LIBCRTBEGIN=
     20  1.13    simonb LIBCRTEND=
     21  1.13    simonb 
     22   1.8   thorpej COPTS+=		-ffreestanding
     23   1.1       mrg CWARNFLAGS+=	-Wno-main
     24   1.2       mrg CFLAGS+=	${COPTS} ${CEXTRAFLAGS}
     25   1.2       mrg CPPFLAGS+=	-D_STANDALONE -DSUN4U
     26   1.4   thorpej CPPFLAGS+=	-DBOOT_ELF32 -DBOOT_ELF64
     27  1.10       mrg CPPFLAGS+=	-DNETBOOT
     28   1.1       mrg #CPPFLAGS+=	-DNETIF_DEBUG 
     29  1.10       mrg 
     30  1.10       mrg LINKS+=		${BINDIR}/ofwboot ${BINDIR}/ofwboot.net
     31   1.1       mrg 
     32   1.5        tv NOMAN=		# defined
     33   1.1       mrg STRIPFLAG=
     34   1.1       mrg BINMODE=	444
     35   1.1       mrg 
     36   1.1       mrg NEWVERSWHAT=	"OpenFirmware Boot"
     37   1.1       mrg 
     38   1.1       mrg #
     39   1.1       mrg # Elf64 defaults to 1MB
     40   1.1       mrg #
     41   1.1       mrg # We may get address conflicts with other bootloaders, say
     42   1.1       mrg # Sun's ufsboot, so we'll pick a reasonably empty address.
     43   1.1       mrg #
     44   1.1       mrg RELOC=		800000
     45   1.1       mrg 
     46   1.1       mrg ENTRY=		_start
     47   1.1       mrg 
     48  1.11    martin CLEANFILES+=	vers.c sparc64 sparc machine
     49   1.1       mrg 
     50   1.1       mrg CPPFLAGS+=	-I${CURDIR}/../../.. -I${CURDIR}/../../../.. -I${CURDIR} -I.
     51   1.1       mrg CPPFLAGS+=	-DRELOC=0x${RELOC}
     52   1.1       mrg 
     53   1.1       mrg #
     54   1.1       mrg # XXXXX FIXME
     55   1.1       mrg #
     56   1.1       mrg CPPFLAGS+=	-DSPARC_BOOT_AOUT
     57   1.1       mrg CPPFLAGS+=	-DSPARC_BOOT_ELF
     58   1.1       mrg CPPFLAGS+=	-DSPARC_BOOT_UFS
     59   1.1       mrg CPPFLAGS+=	-DSPARC_BOOT_NFS
     60   1.1       mrg #CPPFLAGS+=	-DSPARC_BOOT_HSFS
     61   1.1       mrg 
     62   1.1       mrg ### find out what to use for libkern
     63   1.1       mrg KERN_AS=	library
     64   1.1       mrg .include "${S}/lib/libkern/Makefile.inc"
     65   1.1       mrg LIBKERN=	${KERNLIB}
     66   1.1       mrg 
     67   1.1       mrg ### find out what to use for libz
     68   1.1       mrg Z_AS=		library
     69   1.1       mrg .include "${S}/lib/libz/Makefile.inc"
     70   1.1       mrg LIBZ=		${ZLIB}
     71   1.1       mrg 
     72   1.1       mrg ### find out what to use for libsa
     73   1.1       mrg SA_AS=		library
     74   1.1       mrg SAMISCMAKEFLAGS= SA_USE_CREAD=yes
     75   1.1       mrg .include "${S}/lib/libsa/Makefile.inc"
     76   1.1       mrg LIBSA=		${SALIB}
     77   1.1       mrg 
     78  1.11    martin .NOPATH: machine sparc64 sparc
     79  1.11    martin ${SRCS}: machine sparc64 sparc
     80   1.1       mrg 
     81   1.1       mrg machine:
     82   1.1       mrg 	rm -f machine
     83   1.2       mrg 	ln -s sparc64 machine
     84   1.1       mrg 
     85   1.2       mrg sparc64:
     86   1.2       mrg 	rm -f sparc64
     87   1.2       mrg 	ln -s ${.CURDIR}/../../../sparc64/include sparc64
     88   1.7  nakayama 
     89  1.11    martin sparc:
     90  1.11    martin 	rm -f sparc
     91  1.11    martin 	ln -s ${.CURDIR}/../../../sparc/include sparc
     92  1.11    martin 
     93   1.7  nakayama cleandir distclean: cleanlibdir
     94   1.7  nakayama 
     95   1.7  nakayama cleanlibdir:
     96  1.12       jmc 	-rm -rf lib
     97   1.1       mrg 
     98   1.1       mrg vers.c: version
     99   1.9     lukem 	${HOST_SH} ${S}/conf/newvers_stand.sh ${CURDIR}/version "sparc64" ${NEWVERSWHAT}
    100   1.1       mrg 
    101   1.1       mrg .if CROSS
    102   1.1       mrg ${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
    103   1.1       mrg 	${LD} -N -p -Ttext ${RELOC} -e ${ENTRY} >lderr -o ${PROG} \
    104   1.1       mrg 	    ${OBJS} -L${SADST} -lsa -L${ZDST} -lz -L${KERNDST} -lkern # solaris linker
    105   1.1       mrg .else
    106   1.1       mrg ${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
    107   1.1       mrg 	${LD} -X -N -Ttext ${RELOC} -e ${ENTRY} -o ${PROG} \
    108   1.1       mrg 	    ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}	# native linker
    109   1.1       mrg .endif
    110   1.1       mrg 
    111   1.1       mrg .include <bsd.prog.mk>
    112   1.1       mrg 
    113   1.2       mrg .if ${MACHINE_ARCH} == "sparc64"
    114   1.2       mrg AFLAGS+=		-Wa,-Av9a
    115   1.2       mrg CEXTRAFLAGS?=		-D_LP64
    116   1.2       mrg .else
    117   1.2       mrg AFLAGS+=		-Wa,-Av8plusa
    118   1.2       mrg .endif
    119   1.2       mrg 
    120   1.1       mrg .if CROSS
    121   1.2       mrg AFLAGS+=		-x assembler-with-cpp -traditional-cpp -D_LOCORE -D__ELF__
    122   1.2       mrg CEXTRAFLAGS?=		-D_LP64
    123   1.1       mrg .else
    124   1.2       mrg AFLAGS+=		-x assembler-with-cpp -traditional-cpp -D_LOCORE -D__ELF__ ${CEXTRAFLAGS}
    125   1.1       mrg .endif
    126   1.2       mrg 
    127   1.1       mrg NORMAL_S=	${CC} ${AFLAGS} ${CPPFLAGS} -c $<
    128   1.1       mrg srt0.o: srt0.s
    129   1.1       mrg 	${NORMAL_S}
    130   1.1       mrg 
    131   1.1       mrg # Explicit dependency for this.
    132   1.1       mrg boot.o: boot.c elfXX_exec.c
    133